Bug 149106 - LLInt get/put inline caches shouldn't use tons of opcodes
Summary: LLInt get/put inline caches shouldn't use tons of opcodes
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: Other
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on: 149143
Blocks: 148610
  Show dependency treegraph
 
Reported: 2015-09-13 12:34 PDT by Filip Pizlo
Modified: 2015-09-14 17:56 PDT (History)
13 users (show)

See Also:


Attachments
work in progress (46.63 KB, patch)
2015-09-13 12:36 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
more (52.77 KB, patch)
2015-09-13 20:20 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
almost done (65.65 KB, patch)
2015-09-13 21:41 PDT, Filip Pizlo
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews103 for mac-mavericks (1.37 MB, application/zip)
2015-09-13 22:52 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews104 for mac-mavericks-wk2 (1.46 MB, application/zip)
2015-09-13 22:59 PDT, Build Bot
no flags Details
the patch (62.79 KB, patch)
2015-09-14 13:03 PDT, Filip Pizlo
ggaren: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-09-13 12:34:08 PDT
The performance of LLInt get/put inline caches probably has little to do with whether the direct/indirect, inline/out-of-line, transition/replace distinctions are made using different opcodes or branches within a single opcode's implementation.  So, we should simplify the code to use a single get_by_id opcode and a single put_by_id opcode.

Also, the inline caches should use StructureID's as much as possible.  Currently they use Structure*'s waaaay too much.
Comment 1 Filip Pizlo 2015-09-13 12:36:05 PDT
Created attachment 261087 [details]
work in progress

Still need to do the 32-bit parts.  Still need to make it build. :-)
Comment 2 Filip Pizlo 2015-09-13 20:20:37 PDT
Created attachment 261094 [details]
more

64-bit compiles
Comment 3 Filip Pizlo 2015-09-13 21:41:17 PDT
Created attachment 261099 [details]
almost done
Comment 4 WebKit Commit Bot 2015-09-13 21:42:42 PDT
Attachment 261099 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:2535:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:2535:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:2536:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
ERROR: Source/JavaScriptCore/bytecode/PutByIdFlags.cpp:37:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 4 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 5 Build Bot 2015-09-13 22:52:26 PDT
Comment on attachment 261099 [details]
almost done

Attachment 261099 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/169267

New failing tests:
js/array-reduceRight.html
jquery/manipulation.html
js/array-length-shortening.html
js/array-iterators.html
jquery/offset.html
js/dfg-inline-arguments-use-from-all-the-places.html
js/array-reduce.html
js/array-includes.html
js/array-every.html
jquery/traversing.html
js/dfg-inline-arguments-use-from-all-the-places-broken.html
js/array-findIndex.html
jquery/deferred.html
js/array-find.html
js/array-sort-sparse.html
js/array-fill.html
jquery/attributes.html
jquery/dimensions.html
jquery/data.html
js/regress/array-nonarray-polymorhpic-access.html
js/array-enumerators-functions.html
jquery/core.html
jquery/css.html
jquery/event.html
Comment 6 Build Bot 2015-09-13 22:52:31 PDT
Created attachment 261104 [details]
Archive of layout-test-results from ews103 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 7 Build Bot 2015-09-13 22:59:10 PDT
Comment on attachment 261099 [details]
almost done

Attachment 261099 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/169272

New failing tests:
js/array-reduceRight.html
jquery/manipulation.html
js/array-length-shortening.html
js/array-iterators.html
jquery/offset.html
js/dfg-inline-arguments-use-from-all-the-places.html
js/array-reduce.html
js/array-includes.html
js/array-every.html
jquery/traversing.html
js/dfg-inline-arguments-use-from-all-the-places-broken.html
js/array-findIndex.html
jquery/deferred.html
js/array-find.html
js/array-sort-sparse.html
js/array-fill.html
jquery/attributes.html
jquery/dimensions.html
jquery/data.html
js/regress/array-nonarray-polymorhpic-access.html
js/array-enumerators-functions.html
jquery/core.html
jquery/css.html
jquery/event.html
Comment 8 Build Bot 2015-09-13 22:59:15 PDT
Created attachment 261105 [details]
Archive of layout-test-results from ews104 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5
Comment 9 Filip Pizlo 2015-09-14 12:59:59 PDT
Performance is neutral.


Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on shakezilla (MacBookPro11,3).

VMs tested:
"TipOfTree" at /Volumes/Data/secondary/OpenSource/WebKitBuild/Release/jsc (r189679)
"LLIntIC" at /Volumes/Data/quartary/OpenSource/WebKitBuild/Release/jsc (r189679)

Collected 6 samples per benchmark/VM, with 6 VM invocations per benchmark. Emitted a call to gc() between sample measurements.
Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level
timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.

                                                        TipOfTree                  LLIntIC                                      
SunSpider:
   3d-cube                                            4.5820+-0.2680     ?      4.6836+-0.2147        ? might be 1.0222x slower
   3d-morph                                           5.3884+-0.1392     ?      5.4365+-0.4282        ?
   3d-raytrace                                        5.2715+-0.2096     ?      5.3056+-0.2693        ?
   access-binary-trees                                2.2760+-0.3422            2.0883+-0.0784          might be 1.0899x faster
   access-fannkuch                                    5.5581+-0.3372            5.5060+-0.1578        
   access-nbody                                       2.4344+-0.0313     ?      2.4603+-0.0567        ? might be 1.0106x slower
   access-nsieve                                      3.1214+-0.2121     ?      3.1610+-0.3061        ? might be 1.0127x slower
   bitops-3bit-bits-in-byte                           1.1635+-0.0897            1.1376+-0.0494          might be 1.0227x faster
   bitops-bits-in-byte                                3.2171+-0.0751     ?      3.2675+-0.0838        ? might be 1.0157x slower
   bitops-bitwise-and                                 2.0153+-0.0852            2.0110+-0.0724        
   bitops-nsieve-bits                                 2.9618+-0.1476            2.8889+-0.0799          might be 1.0253x faster
   controlflow-recursive                              2.4165+-0.5195            2.3100+-0.1259          might be 1.0461x faster
   crypto-aes                                         3.8692+-0.0885            3.8547+-0.0752        
   crypto-md5                                         2.4608+-0.0709     ?      2.4721+-0.0325        ?
   crypto-sha1                                        2.5077+-0.2012            2.4680+-0.2351          might be 1.0161x faster
   date-format-tofte                                  6.6815+-0.1330     ?      6.7667+-0.5084        ? might be 1.0127x slower
   date-format-xparb                                  4.8434+-0.5433            4.5612+-0.0643          might be 1.0619x faster
   math-cordic                                        2.8647+-0.2162            2.8300+-0.1659          might be 1.0122x faster
   math-partial-sums                                  4.7890+-0.0722     ?      5.0056+-0.2773        ? might be 1.0452x slower
   math-spectral-norm                                 1.8879+-0.0679     ?      2.0059+-0.2594        ? might be 1.0625x slower
   regexp-dna                                         6.3832+-0.3206     ?      6.5977+-0.3049        ? might be 1.0336x slower
   string-base64                                      4.6721+-0.3320     ?      4.6848+-0.5524        ?
   string-fasta                                       5.7759+-0.0502     ?      6.3845+-0.7894        ? might be 1.1054x slower
   string-tagcloud                                    7.8618+-0.1561     ?      8.0247+-0.4432        ? might be 1.0207x slower
   string-unpack-code                                18.8517+-1.1353     ?     19.0692+-1.6311        ? might be 1.0115x slower
   string-validate-input                              4.7121+-0.4434            4.4420+-0.0893          might be 1.0608x faster

   <arithmetic>                                       4.5603+-0.0579     ?      4.5932+-0.1068        ? might be 1.0072x slower

                                                        TipOfTree                  LLIntIC                                      
LongSpider:
   3d-cube                                          805.2518+-7.2533     ?    829.4709+-62.3841       ? might be 1.0301x slower
   3d-morph                                        1484.0579+-2.1250     ?   1516.2352+-68.8000       ? might be 1.0217x slower
   3d-raytrace                                      593.3660+-6.4760     ?    598.1403+-27.4388       ?
   access-binary-trees                              805.3333+-10.6238         802.3867+-4.5486        
   access-fannkuch                                  279.3938+-12.6493         277.1274+-8.2500        
   access-nbody                                     504.1781+-2.5367     ?    505.6149+-4.1016        ?
   access-nsieve                                    366.9685+-15.1345         362.0544+-7.6830          might be 1.0136x faster
   bitops-3bit-bits-in-byte                          34.6560+-1.3208           34.0718+-0.6115          might be 1.0171x faster
   bitops-bits-in-byte                               80.0665+-10.3186          75.2861+-1.3212          might be 1.0635x faster
   bitops-nsieve-bits                               400.2712+-3.2900          398.8237+-2.9827        
   controlflow-recursive                            439.6807+-2.5804          439.2529+-2.0828        
   crypto-aes                                       569.3118+-6.5602          566.1007+-12.0636       
   crypto-md5                                       449.6653+-30.7750    ?    454.6507+-39.0027       ? might be 1.0111x slower
   crypto-sha1                                      629.9242+-9.3747          628.7699+-12.9306       
   date-format-tofte                                505.1135+-16.9054         501.8959+-13.2588       
   date-format-xparb                                650.5713+-4.9588     ?    656.2353+-4.1950        ?
   hash-map                                         159.4403+-9.4230     ?    163.7203+-2.4287        ? might be 1.0268x slower
   math-cordic                                      474.1529+-0.4331     ?    475.8425+-2.3188        ?
   math-partial-sums                                460.0002+-0.4958     ?    460.3138+-0.5333        ?
   math-spectral-norm                               549.4240+-5.8003          547.3337+-2.6266        
   string-base64                                    353.4439+-3.4426     ?    354.8953+-5.3631        ?
   string-fasta                                     363.1635+-3.6117     ?    364.5803+-4.2273        ?
   string-tagcloud                                  174.4503+-1.2400     ?    174.8959+-3.8575        ?

   <geometric>                                      386.6970+-2.8490          386.6967+-1.9311          might be 1.0000x faster

                                                        TipOfTree                  LLIntIC                                      
V8Spider:
   crypto                                            49.2260+-1.8170     ?     49.6623+-2.1265        ?
   deltablue                                         86.9647+-5.4380           86.2991+-1.9175        
   earley-boyer                                      40.8886+-1.7571     ?     41.4707+-1.1707        ? might be 1.0142x slower
   raytrace                                          31.7177+-1.9335           31.1107+-1.6280          might be 1.0195x faster
   regexp                                            62.0460+-0.8681     ?     62.3502+-0.7992        ?
   richards                                          62.9038+-0.6951           61.9201+-1.6607          might be 1.0159x faster
   splay                                             34.0916+-1.1924           33.9340+-1.1421        

   <geometric>                                       49.5766+-1.0402           49.4471+-0.7798          might be 1.0026x faster

                                                        TipOfTree                  LLIntIC                                      
Octane:
   encrypt                                           0.16753+-0.00452    ?     0.17158+-0.00457       ? might be 1.0242x slower
   decrypt                                           3.03263+-0.00836          3.02165+-0.01402       
   deltablue                                x2       0.15533+-0.00238    ?     0.15674+-0.00158       ?
   earley                                            0.29757+-0.00223          0.29613+-0.00501       
   boyer                                             4.28886+-0.03864          4.28647+-0.02287       
   navier-stokes                            x2       4.81242+-0.03068          4.80079+-0.00960       
   raytrace                                 x2       0.89745+-0.00646    ?     0.89828+-0.00631       ?
   richards                                 x2       0.10762+-0.00242          0.10658+-0.00155       
   splay                                    x2       0.32668+-0.00548          0.32433+-0.00427       
   regexp                                   x2      24.34654+-0.23537         23.99450+-0.18102         might be 1.0147x faster
   pdfjs                                    x2      36.41728+-0.49459    ?    36.68009+-0.51891       ?
   mandreel                                 x2      42.42116+-0.55996    ?    42.65303+-0.30988       ?
   gbemu                                    x2      37.36024+-1.94941    ?    37.91544+-2.35295       ? might be 1.0149x slower
   closure                                           0.57066+-0.00165          0.56948+-0.00112       
   jquery                                            7.10656+-0.04412    ?     7.10676+-0.02787       ?
   box2d                                    x2      10.12045+-0.15491    ?    10.23815+-0.16926       ? might be 1.0116x slower
   zlib                                     x2     389.24669+-4.28712        383.22141+-3.48853         might be 1.0157x faster
   typescript                               x2     635.47400+-18.51005       622.50321+-6.49438         might be 1.0208x faster

   <geometric>                                       5.51903+-0.02576          5.51360+-0.02465         might be 1.0010x faster

                                                        TipOfTree                  LLIntIC                                      
Kraken:
   ai-astar                                          223.265+-8.917            220.080+-2.183           might be 1.0145x faster
   audio-beat-detection                               50.121+-0.180      !      50.767+-0.406         ! definitely 1.0129x slower
   audio-dft                                          95.649+-1.736      ?      96.353+-2.223         ?
   audio-fft                                          34.951+-0.366      ?      35.560+-0.803         ? might be 1.0174x slower
   audio-oscillator                                   58.678+-0.651      ?      59.554+-1.359         ? might be 1.0149x slower
   imaging-darkroom                                   60.522+-0.079      ?      60.530+-0.068         ?
   imaging-desaturate                                 48.356+-0.239      ?      48.980+-1.470         ? might be 1.0129x slower
   imaging-gaussian-blur                              84.932+-0.464             84.901+-0.431         
   json-parse-financial                               39.097+-0.440             38.338+-0.639           might be 1.0198x faster
   json-stringify-tinderbox                           22.511+-0.740             22.391+-0.646         
   stanford-crypto-aes                                41.917+-2.031             41.022+-1.245           might be 1.0218x faster
   stanford-crypto-ccm                                36.104+-1.078             35.043+-1.335           might be 1.0303x faster
   stanford-crypto-pbkdf2                             92.843+-0.683             92.529+-0.800         
   stanford-crypto-sha256-iterative                   36.632+-1.468      ?      36.904+-1.929         ?

   <arithmetic>                                       66.113+-0.681             65.925+-0.482           might be 1.0028x faster

                                                        TipOfTree                  LLIntIC                                      
JSRegress:
   abc-forward-loop-equal                            29.5588+-0.9360           29.3066+-0.6475        
   abc-postfix-backward-loop                         29.7250+-1.1196           28.9455+-0.5703          might be 1.0269x faster
   abc-simple-backward-loop                          30.1479+-1.5482           29.8477+-1.0957          might be 1.0101x faster
   abc-simple-forward-loop                           29.0461+-0.7132           28.8763+-0.4587        
   abc-skippy-loop                                   21.1724+-0.7417     ?     21.2995+-0.8380        ?
   abs-boolean                                        2.3910+-0.0246     ?      2.4391+-0.0262        ? might be 1.0201x slower
   adapt-to-double-divide                            16.2256+-0.3058     ?     16.2452+-0.2505        ?
   aliased-arguments-getbyval                         1.1958+-0.0491     ?      1.2697+-0.3760        ? might be 1.0618x slower
   allocate-big-object                                2.5780+-0.2721            2.3169+-0.2499          might be 1.1127x faster
   arguments-named-and-reflective                    10.6091+-0.2612     ?     10.6148+-0.5835        ?
   arguments-out-of-bounds                            9.0511+-0.3568     ?      9.9052+-0.8699        ? might be 1.0944x slower
   arguments-strict-mode                              9.8185+-0.2681            9.5166+-0.4151          might be 1.0317x faster
   arguments                                          8.7238+-0.5436            8.3323+-0.4107          might be 1.0470x faster
   arity-mismatch-inlining                            0.8423+-0.0179     ?      0.9895+-0.3096        ? might be 1.1747x slower
   array-access-polymorphic-structure                 5.8934+-0.0851            5.6917+-0.2222          might be 1.0354x faster
   array-nonarray-polymorhpic-access                 23.2865+-0.5387     ?     23.4614+-0.4181        ?
   array-prototype-every                             77.8156+-3.0697           76.1118+-1.1700          might be 1.0224x faster
   array-prototype-forEach                           76.0388+-0.6273     ?     82.0929+-18.3976       ? might be 1.0796x slower
   array-prototype-map                               80.6036+-2.1851           79.5988+-0.9800          might be 1.0126x faster
   array-prototype-reduce                            71.8359+-2.3277           70.8151+-1.3973          might be 1.0144x faster
   array-prototype-reduceRight                       72.4908+-5.0647           70.9111+-1.2111          might be 1.0223x faster
   array-prototype-some                              76.3669+-1.0653     ?     76.5801+-1.0452        ?
   array-splice-contiguous                           21.3598+-1.5176           19.8621+-0.8687          might be 1.0754x faster
   array-with-double-add                              3.4307+-0.0940     ?      3.4740+-0.2394        ? might be 1.0126x slower
   array-with-double-increment                        3.0422+-0.0358     ?      3.1132+-0.1088        ? might be 1.0233x slower
   array-with-double-mul-add                          4.1365+-0.0721            4.1013+-0.0451        
   array-with-double-sum                              3.1595+-0.0392     ?      3.2386+-0.1174        ? might be 1.0250x slower
   array-with-int32-add-sub                           5.7635+-0.3502            5.6319+-0.1787          might be 1.0234x faster
   array-with-int32-or-double-sum                     3.3793+-0.1402            3.2676+-0.0777          might be 1.0342x faster
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     25.4165+-0.5916     ?     26.2418+-1.4988        ? might be 1.0325x slower
   ArrayBuffer-DataView-alloc-long-lived             12.1833+-0.6521           11.8499+-0.5158          might be 1.0281x faster
   ArrayBuffer-Int32Array-byteOffset                  3.4667+-0.0630     ?      3.6501+-0.2594        ? might be 1.0529x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     30.3826+-1.1851           29.3127+-0.1947          might be 1.0365x faster
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     19.7491+-0.5151     ?     20.1047+-0.7418        ? might be 1.0180x slower
   ArrayBuffer-Int8Array-alloc-long-lived            12.3575+-0.5688     ?     12.5561+-0.5173        ? might be 1.0161x slower
   ArrayBuffer-Int8Array-alloc                        9.4399+-0.2553     ?      9.7355+-0.6654        ? might be 1.0313x slower
   arrowfunction-call                                10.7154+-0.4718           10.6217+-0.4390        
   asmjs_bool_bug                                     7.4368+-0.1913     ?      7.5490+-0.2226        ? might be 1.0151x slower
   assign-custom-setter-polymorphic                   2.5807+-0.2744            2.4904+-0.0554          might be 1.0363x faster
   assign-custom-setter                               3.5441+-0.2008     ?      3.7587+-0.4389        ? might be 1.0605x slower
   basic-set                                          8.3260+-0.3498     ?      8.3350+-0.3534        ?
   big-int-mul                                        3.5066+-0.2214     ?      3.5229+-0.0909        ?
   boolean-test                                       2.9288+-0.0387     ?      2.9677+-0.1194        ? might be 1.0133x slower
   branch-fold                                        3.6536+-0.1492     ?      3.6963+-0.1202        ? might be 1.0117x slower
   branch-on-string-as-boolean                       16.6175+-0.3992     ?     17.0968+-0.4801        ? might be 1.0288x slower
   by-val-generic                                     2.4029+-0.1352     ?      2.5199+-0.2772        ? might be 1.0487x slower
   call-spread-apply                                 26.1562+-1.2169           25.9299+-1.0636        
   call-spread-call                                  21.7982+-0.5014     ^     20.8213+-0.4058        ^ definitely 1.0469x faster
   captured-assignments                               0.4184+-0.0246            0.4093+-0.0067          might be 1.0222x faster
   cast-int-to-double                                 5.0162+-0.0913     ?      5.0570+-0.0664        ?
   cell-argument                                      6.5825+-0.4455            6.2093+-0.1616          might be 1.0601x faster
   cfg-simplify                                       3.1100+-0.3653            2.9142+-0.1441          might be 1.0672x faster
   chain-getter-access                                8.5139+-0.3047            8.2867+-0.1770          might be 1.0274x faster
   cmpeq-obj-to-obj-other                            12.3912+-0.7245           12.2196+-1.0689          might be 1.0140x faster
   constant-test                                      4.8350+-0.0915            4.8246+-0.0449        
   create-lots-of-functions                           9.3069+-0.2811     ?      9.5000+-0.2626        ? might be 1.0207x slower
   cse-new-array-buffer                               2.3577+-0.2535     ?      2.4819+-0.1353        ? might be 1.0527x slower
   cse-new-array                                      2.5441+-0.3031     ?      2.5797+-0.4113        ? might be 1.0140x slower
   DataView-custom-properties                        31.2032+-1.1710           30.7860+-1.6567          might be 1.0136x faster
   delay-tear-off-arguments-strictmode               11.9185+-0.3772     ?     12.1857+-0.3391        ? might be 1.0224x slower
   deltablue-varargs                                169.8240+-7.9143     ?    170.3579+-6.4421        ?
   destructuring-arguments                          161.1492+-1.2836          160.8385+-0.8549        
   destructuring-parameters-overridden-by-function   
                                                      0.4344+-0.0117            0.4290+-0.0084          might be 1.0127x faster
   destructuring-swap                                 4.9087+-0.2711     ?      5.3913+-1.7414        ? might be 1.0983x slower
   direct-arguments-getbyval                          1.2196+-0.0864            1.1611+-0.1092          might be 1.0504x faster
   div-boolean-double                                 5.2919+-0.0398            5.2872+-0.1923        
   div-boolean                                        8.0511+-0.0600     ?      8.1713+-0.1990        ? might be 1.0149x slower
   double-get-by-val-out-of-bounds                    4.2540+-0.1441     ?      4.4373+-0.2383        ? might be 1.0431x slower
   double-pollution-getbyval                          8.7560+-0.3617            8.7104+-0.1352        
   double-pollution-putbyoffset                       3.8236+-0.2395            3.6682+-0.1231          might be 1.0424x faster
   double-real-use                                   25.3127+-2.1835     ?     25.3335+-1.6554        ?
   double-to-int32-typed-array-no-inline              2.1876+-0.0467            2.1792+-0.0439        
   double-to-int32-typed-array                        2.1174+-0.2907            2.0232+-0.0859          might be 1.0465x faster
   double-to-uint32-typed-array-no-inline             2.2455+-0.0995            2.2007+-0.0699          might be 1.0204x faster
   double-to-uint32-typed-array                       2.0292+-0.0391     ?      2.0533+-0.0460        ? might be 1.0119x slower
   elidable-new-object-dag                           34.1602+-1.2507     ?     34.3503+-0.5414        ?
   elidable-new-object-roflcopter                    32.6163+-1.3836     ?     33.1548+-0.8507        ? might be 1.0165x slower
   elidable-new-object-then-call                     31.9210+-1.3197           31.8511+-0.9992        
   elidable-new-object-tree                          38.2604+-0.9760           37.7005+-0.9684          might be 1.0149x faster
   empty-string-plus-int                              4.7567+-0.2384     ?      4.8733+-0.3239        ? might be 1.0245x slower
   emscripten-cube2hash                              25.9195+-1.2094     ?     26.8721+-1.4282        ? might be 1.0368x slower
   exit-length-on-plain-object                       12.9550+-0.7849           12.5598+-0.4692          might be 1.0315x faster
   external-arguments-getbyval                        1.2902+-0.1572            1.1919+-0.0989          might be 1.0824x faster
   external-arguments-putbyval                        2.1657+-0.0546     ?      2.2441+-0.1252        ? might be 1.0362x slower
   fixed-typed-array-storage-var-index                1.2852+-0.1886            1.2092+-0.0600          might be 1.0629x faster
   fixed-typed-array-storage                          0.8805+-0.0141     ?      0.9063+-0.0435        ? might be 1.0293x slower
   Float32Array-matrix-mult                           3.8661+-0.0311     ?      4.1032+-0.3252        ? might be 1.0613x slower
   Float32Array-to-Float64Array-set                  46.5953+-0.6756           46.4707+-0.9462        
   Float64Array-alloc-long-lived                     69.1333+-1.1922           68.2275+-1.0054          might be 1.0133x faster
   Float64Array-to-Int16Array-set                    57.6296+-0.9581           56.2756+-1.0030          might be 1.0241x faster
   fold-double-to-int                                12.0486+-0.2753     ?     12.1010+-0.2450        ?
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     11.0713+-1.0172           10.7363+-1.2437          might be 1.0312x faster
   fold-get-by-id-to-multi-get-by-offset             10.4611+-1.8655           10.4606+-2.4305        
   fold-multi-get-by-offset-to-get-by-offset   
                                                      9.1140+-2.1222            8.5521+-0.3274          might be 1.0657x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      8.6023+-1.7008            8.3337+-0.7822          might be 1.0322x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.1530+-0.6192     ?     11.7708+-1.8102        ? might be 1.1593x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      4.2797+-0.7103     ?      4.5667+-0.9397        ? might be 1.0670x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.2614+-0.5792     ?      9.3757+-0.5153        ? might be 1.0123x slower
   fold-put-by-id-to-multi-put-by-offset             11.6223+-2.3456           10.7007+-1.0803          might be 1.0861x faster
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     10.4156+-1.3424     ?     10.6400+-1.1855        ? might be 1.0215x slower
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     10.8774+-1.1584           10.0243+-1.3645          might be 1.0851x faster
   fold-put-structure                                 5.4089+-1.6037            4.5833+-1.2563          might be 1.1801x faster
   for-of-iterate-array-entries                      11.3924+-0.6631           10.9735+-0.3752          might be 1.0382x faster
   for-of-iterate-array-keys                          3.6642+-0.2065            3.4081+-0.1627          might be 1.0752x faster
   for-of-iterate-array-values                        3.4805+-0.2244            3.3797+-0.1451          might be 1.0298x faster
   fround                                            17.7067+-0.8340     ?     18.6469+-1.1775        ? might be 1.0531x slower
   ftl-library-inlining-dataview                     55.8162+-1.0337           55.6158+-0.8234        
   ftl-library-inlining                              94.0416+-1.5924     ?     94.6195+-1.5081        ?
   function-call                                     10.7384+-0.2605     ?     10.7561+-0.2455        ?
   function-dot-apply                                 2.0945+-0.1958            2.0350+-0.0641          might be 1.0292x faster
   function-test                                      2.6656+-0.0458     ?      2.9056+-0.4772        ? might be 1.0900x slower
   function-with-eval                                92.8670+-2.0739     ?     93.8560+-5.2818        ? might be 1.0106x slower
   gcse-poly-get-less-obvious                        22.6870+-0.2853     ?     22.9015+-1.0877        ?
   gcse-poly-get                                     24.1854+-0.3098     ?     24.9795+-1.1199        ? might be 1.0328x slower
   gcse                                               3.8164+-0.0582     ?      3.9928+-0.3726        ? might be 1.0462x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.8571+-0.5156            2.5955+-0.0844          might be 1.1008x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                      5.8236+-0.3264     ?      5.8520+-0.2628        ?
   get-by-id-chain-from-try-block                     5.5196+-0.2107            5.3685+-0.0830          might be 1.0282x faster
   get-by-id-check-structure-elimination              4.3866+-0.0948     ?      4.4635+-0.1677        ? might be 1.0175x slower
   get-by-id-proto-or-self                           15.2561+-0.2090     ?     16.0470+-0.6108        ? might be 1.0518x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      2.9493+-0.1234            2.8751+-0.0488          might be 1.0258x faster
   get-by-id-self-or-proto                           15.4134+-0.2432           15.4034+-0.8078        
   get-by-val-out-of-bounds                           4.0650+-0.0954     ?      4.2496+-0.2262        ? might be 1.0454x slower
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                      2.7713+-0.0230     ?      3.0431+-0.3337        ? might be 1.0981x slower
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                      6.1743+-0.4141            5.9653+-0.0353          might be 1.0350x faster
   get-by-val-with-string-chain-from-try-block   
                                                      5.6178+-0.2353            5.5798+-0.0648        
   get-by-val-with-string-check-structure-elimination   
                                                      5.1957+-0.1342            5.1571+-0.1399        
   get-by-val-with-string-proto-or-self              15.8777+-1.0527           15.7976+-0.9810        
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                      3.7860+-0.9729            3.4127+-0.1044          might be 1.1094x faster
   get-by-val-with-string-self-or-proto              15.5999+-0.7457     ?     15.8632+-0.9987        ? might be 1.0169x slower
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                      3.1012+-0.0427     ?      3.1436+-0.0530        ? might be 1.0137x slower
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                     12.3383+-0.1309           12.2216+-0.1282        
   get-by-val-with-symbol-chain-from-try-block   
                                                      5.5094+-0.0371     ?      5.5334+-0.1344        ?
   get-by-val-with-symbol-check-structure-elimination   
                                                     11.2824+-0.0675     ?     11.4329+-0.3434        ? might be 1.0133x slower
   get-by-val-with-symbol-proto-or-self              15.9465+-1.0160           15.6007+-0.9295          might be 1.0222x faster
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                      3.7227+-0.1105     ?      3.8413+-0.1879        ? might be 1.0319x slower
   get-by-val-with-symbol-self-or-proto              15.8465+-0.7959           15.2570+-0.2018          might be 1.0386x faster
   get_callee_monomorphic                             2.3147+-0.1514     ?      2.3369+-0.1752        ?
   get_callee_polymorphic                             3.5208+-0.3762            3.3493+-0.1558          might be 1.0512x faster
   getter-no-activation                               4.8997+-0.3249            4.8644+-0.1520        
   getter-prototype                                   9.1633+-0.4489            8.9626+-0.2531          might be 1.0224x faster
   getter-richards                                  121.3995+-4.2308     ?    123.0439+-7.4412        ? might be 1.0135x slower
   getter                                             5.3198+-0.6732            5.2386+-0.4077          might be 1.0155x faster
   global-object-access-with-mutating-structure   
                                                      5.5382+-0.0798     ?      5.7026+-0.2601        ? might be 1.0297x slower
   global-var-const-infer-fire-from-opt               0.7235+-0.0773     !      0.8579+-0.0339        ! definitely 1.1857x slower
   global-var-const-infer                             0.6739+-0.1031            0.6683+-0.0798        
   hard-overflow-check-equal                         32.6665+-1.0407           32.5163+-0.8755        
   hard-overflow-check                               32.5545+-0.6252     ?     33.4847+-0.8404        ? might be 1.0286x slower
   HashMap-put-get-iterate-keys                      27.4396+-1.5633     ?     27.7524+-0.9203        ? might be 1.0114x slower
   HashMap-put-get-iterate                           29.2981+-1.1356     ?     29.5653+-1.4639        ?
   HashMap-string-put-get-iterate                    26.3514+-3.3025           25.1226+-0.9322          might be 1.0489x faster
   hoist-make-rope                                    8.3846+-0.6440     ?      9.2891+-1.0461        ? might be 1.1079x slower
   hoist-poly-check-structure-effectful-loop   
                                                      4.1300+-0.0856     ?      4.1712+-0.0758        ?
   hoist-poly-check-structure                         3.3115+-0.0660     ?      3.3828+-0.2217        ? might be 1.0215x slower
   imul-double-only                                   7.2898+-0.4067            7.2336+-0.2495        
   imul-int-only                                      8.4435+-0.9356            8.3765+-0.7428        
   imul-mixed                                         7.1480+-0.6535     ?      8.0537+-2.2903        ? might be 1.1267x slower
   in-four-cases                                     16.7746+-0.3976     ?     16.9033+-0.6323        ?
   in-one-case-false                                  9.9857+-0.5600            9.7624+-0.6358          might be 1.0229x faster
   in-one-case-true                                   9.7587+-0.9750            9.6962+-0.6533        
   in-two-cases                                       9.6326+-0.5251     ?      9.6774+-0.7200        ?
   indexed-properties-in-objects                      2.7357+-0.1434            2.6849+-0.0376          might be 1.0189x faster
   infer-closure-const-then-mov-no-inline             3.6534+-0.2935     ?      3.6688+-0.2632        ?
   infer-closure-const-then-mov                      18.4993+-0.5313           17.8795+-0.4613          might be 1.0347x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     11.2478+-0.4759           10.9389+-0.5034          might be 1.0282x faster
   infer-closure-const-then-put-to-scope             23.5837+-1.8787           23.2237+-1.0921          might be 1.0155x faster
   infer-closure-const-then-reenter-no-inline   
                                                     45.5867+-0.8835           44.9211+-0.7602          might be 1.0148x faster
   infer-closure-const-then-reenter                  22.9005+-0.7002     ?     23.3868+-0.4269        ? might be 1.0212x slower
   infer-constant-global-property                     3.4036+-0.0287     ?      3.4280+-0.0781        ?
   infer-constant-property                            2.6140+-0.0974            2.5833+-0.0354          might be 1.0119x faster
   infer-one-time-closure-ten-vars                    8.4504+-0.9294            7.6836+-0.1506          might be 1.0998x faster
   infer-one-time-closure-two-vars                    7.2996+-0.3233     ?      7.4731+-0.2734        ? might be 1.0238x slower
   infer-one-time-closure                             7.5210+-0.4369            7.4836+-0.4492        
   infer-one-time-deep-closure                       10.3886+-0.2276     ?     10.6781+-0.3442        ? might be 1.0279x slower
   inline-arguments-access                            4.0148+-0.5692            3.7390+-0.2893          might be 1.0738x faster
   inline-arguments-aliased-access                    3.7388+-0.2493     ?      3.7878+-0.2879        ? might be 1.0131x slower
   inline-arguments-local-escape                      3.6925+-0.1751            3.6630+-0.1937        
   inline-get-scoped-var                              4.6093+-0.1969            4.4468+-0.1506          might be 1.0366x faster
   inlined-put-by-id-transition                       9.5439+-0.5512            9.4022+-0.7385          might be 1.0151x faster
   inlined-put-by-val-with-string-transition   
                                                     41.4285+-1.8780           40.4745+-1.4626          might be 1.0236x faster
   inlined-put-by-val-with-symbol-transition   
                                                     40.7075+-1.5069     ?     41.6678+-0.7890        ? might be 1.0236x slower
   int-or-other-abs-then-get-by-val                   4.4862+-0.0991            4.4444+-0.0942        
   int-or-other-abs-zero-then-get-by-val             15.7461+-0.4525     ?     16.1228+-0.8993        ? might be 1.0239x slower
   int-or-other-add-then-get-by-val                   4.0811+-0.1266     ?      4.1434+-0.2435        ? might be 1.0152x slower
   int-or-other-add                                   4.9162+-0.0642     ?      4.9293+-0.1291        ?
   int-or-other-div-then-get-by-val                   3.8885+-0.3171            3.7315+-0.0567          might be 1.0421x faster
   int-or-other-max-then-get-by-val                   4.0571+-0.4862            3.8389+-0.0788          might be 1.0568x faster
   int-or-other-min-then-get-by-val                   3.7245+-0.0350            3.7009+-0.0502        
   int-or-other-mod-then-get-by-val                   3.5804+-0.2692            3.4609+-0.0561          might be 1.0345x faster
   int-or-other-mul-then-get-by-val                   3.6644+-0.2288            3.6258+-0.1121          might be 1.0107x faster
   int-or-other-neg-then-get-by-val                   3.9758+-0.0420     ?      4.0999+-0.1475        ? might be 1.0312x slower
   int-or-other-neg-zero-then-get-by-val             16.0778+-0.6839           15.5370+-0.2456          might be 1.0348x faster
   int-or-other-sub-then-get-by-val                   4.1884+-0.3797            4.1213+-0.1839          might be 1.0163x faster
   int-or-other-sub                                   3.4495+-0.0591            3.4008+-0.0476          might be 1.0143x faster
   int-overflow-local                                 4.0551+-0.0510     ?      4.1197+-0.1794        ? might be 1.0159x slower
   Int16Array-alloc-long-lived                       46.2493+-1.0612           45.8165+-1.0141        
   Int16Array-bubble-sort-with-byteLength            17.6859+-1.3153           17.3712+-0.6159          might be 1.0181x faster
   Int16Array-bubble-sort                            17.7390+-1.4073           17.0890+-0.5272          might be 1.0380x faster
   Int16Array-load-int-mul                            1.4041+-0.0309            1.3881+-0.0106          might be 1.0115x faster
   Int16Array-to-Int32Array-set                      43.5746+-0.9860           43.0499+-0.8122          might be 1.0122x faster
   Int32Array-alloc-large                            12.2144+-0.8186     ?     12.3841+-0.4423        ? might be 1.0139x slower
   Int32Array-alloc-long-lived                       54.5046+-1.2196     ?     55.4779+-0.9750        ? might be 1.0179x slower
   Int32Array-alloc                                   2.7128+-0.1009            2.6635+-0.1407          might be 1.0185x faster
   Int32Array-Int8Array-view-alloc                    5.8809+-0.2125     ?      6.2790+-0.7579        ? might be 1.0677x slower
   int52-spill                                        4.5307+-0.0610     ?      4.5891+-0.2920        ? might be 1.0129x slower
   Int8Array-alloc-long-lived                        41.2960+-1.1278           41.1617+-0.8073        
   Int8Array-load-with-byteLength                     3.4815+-0.2498            3.3431+-0.0718          might be 1.0414x faster
   Int8Array-load                                     3.4381+-0.1527     ?      3.4387+-0.1724        ?
   integer-divide                                    10.5027+-0.4194           10.4529+-0.4379        
   integer-modulo                                     1.6197+-0.0551            1.5803+-0.0208          might be 1.0249x faster
   is-boolean-fold-tricky                             3.7887+-0.1868     ?      3.9249+-0.4581        ? might be 1.0359x slower
   is-boolean-fold                                    2.6282+-0.0660     ?      2.6480+-0.0652        ?
   is-function-fold-tricky-internal-function   
                                                      9.7492+-0.7948            9.6380+-0.2229          might be 1.0115x faster
   is-function-fold-tricky                            4.0089+-0.0675     ?      4.0798+-0.1220        ? might be 1.0177x slower
   is-function-fold                                   2.7183+-0.1264            2.6234+-0.0272          might be 1.0362x faster
   is-number-fold-tricky                              3.9305+-0.0294            3.9119+-0.1395        
   is-number-fold                                     2.6734+-0.1476            2.6189+-0.0144          might be 1.0208x faster
   is-object-or-null-fold-functions                   2.6097+-0.0245     ?      2.7308+-0.1768        ? might be 1.0464x slower
   is-object-or-null-fold-less-tricky                 4.0240+-0.1009            4.0002+-0.1024        
   is-object-or-null-fold-tricky                      4.7327+-0.0585     ?      4.7907+-0.0737        ? might be 1.0123x slower
   is-object-or-null-fold                             2.6073+-0.0288     ?      2.7251+-0.1121        ? might be 1.0451x slower
   is-object-or-null-trickier-function                4.2215+-0.3996            4.0144+-0.0465          might be 1.0516x faster
   is-object-or-null-trickier-internal-function   
                                                      9.7541+-0.1456     ?     10.1219+-0.3504        ? might be 1.0377x slower
   is-object-or-null-tricky-function                  3.9962+-0.1123     ?      4.4325+-1.1256        ? might be 1.1092x slower
   is-object-or-null-tricky-internal-function   
                                                      7.3869+-0.0456     ?      7.4532+-0.2581        ?
   is-string-fold-tricky                              3.9467+-0.0951     ?      4.0134+-0.2493        ? might be 1.0169x slower
   is-string-fold                                     2.6206+-0.0557            2.5887+-0.0304          might be 1.0123x faster
   is-undefined-fold-tricky                           3.3302+-0.0698            3.2867+-0.0234          might be 1.0132x faster
   is-undefined-fold                                  2.7547+-0.3400            2.7229+-0.2146          might be 1.0117x faster
   JSONP-negative-0                                   0.2557+-0.0264            0.2429+-0.0072          might be 1.0528x faster
   large-int-captured                                 4.2324+-0.3873            4.1007+-0.1492          might be 1.0321x faster
   large-int-neg                                     14.0267+-0.2729     ?     14.2896+-0.4395        ? might be 1.0187x slower
   large-int                                         13.2685+-0.9638           13.2352+-0.8244        
   load-varargs-elimination                          19.9818+-0.6319     ?     20.6121+-0.5123        ? might be 1.0315x slower
   logical-not-weird-types                            3.0317+-0.0717     ?      3.0787+-0.2078        ? might be 1.0155x slower
   logical-not                                        4.4281+-0.3134            4.3444+-0.1308          might be 1.0193x faster
   lots-of-fields                                     8.9549+-0.8090            8.9273+-0.5871        
   make-indexed-storage                               2.8461+-0.2781            2.8079+-0.1361          might be 1.0136x faster
   make-rope-cse                                      3.7054+-0.2482            3.6800+-0.0891        
   marsaglia-larger-ints                             32.0726+-1.2327           31.5459+-0.6269          might be 1.0167x faster
   marsaglia-osr-entry                               21.4540+-0.6622           21.1735+-0.4632          might be 1.0132x faster
   math-with-out-of-bounds-array-values              21.3561+-0.5822     ?     21.4257+-0.6678        ?
   max-boolean                                        2.5837+-0.0520     ?      2.6690+-0.0945        ? might be 1.0330x slower
   method-on-number                                  15.4352+-0.3662     ?     15.9800+-0.6679        ? might be 1.0353x slower
   min-boolean                                        2.6316+-0.0653     ?      2.6523+-0.0592        ?
   minus-boolean-double                               3.2062+-0.1736            3.1377+-0.1689          might be 1.0218x faster
   minus-boolean                                      2.2884+-0.0543     ?      2.3083+-0.0243        ?
   misc-strict-eq                                    29.2238+-2.0012           27.9670+-0.9983          might be 1.0449x faster
   mod-boolean-double                                11.1114+-0.2241     ?     11.4029+-0.3886        ? might be 1.0262x slower
   mod-boolean                                        8.2630+-0.0384     ?      8.3770+-0.1271        ? might be 1.0138x slower
   mul-boolean-double                                 3.6186+-0.0357            3.5474+-0.0612          might be 1.0201x faster
   mul-boolean                                        2.8241+-0.1539            2.8103+-0.0268        
   neg-boolean                                        3.2173+-0.3250            3.0873+-0.0521          might be 1.0421x faster
   negative-zero-divide                               0.3453+-0.0253     ?      0.3534+-0.0322        ? might be 1.0237x slower
   negative-zero-modulo                               0.3263+-0.0138     ?      0.3313+-0.0172        ? might be 1.0153x slower
   negative-zero-negate                               0.3368+-0.0346     ?      0.3428+-0.0319        ? might be 1.0179x slower
   nested-function-parsing                           43.9137+-0.4755     ?     44.6795+-0.4225        ? might be 1.0174x slower
   new-array-buffer-dead                             87.7560+-0.9311     ?     87.8518+-2.6385        ?
   new-array-buffer-push                              5.8955+-0.2398     ?      6.1799+-0.4798        ? might be 1.0482x slower
   new-array-dead                                    15.6888+-0.9046           14.9694+-1.3217          might be 1.0481x faster
   new-array-push                                     3.5632+-0.2487            3.5101+-0.2051          might be 1.0151x faster
   no-inline-constructor                             31.5415+-1.4507           31.2979+-0.6762        
   number-test                                        2.9506+-0.0701            2.9065+-0.0599          might be 1.0152x faster
   object-closure-call                                5.1697+-0.0942     ?      5.5278+-0.4854        ? might be 1.0693x slower
   object-get-own-property-symbols-on-large-array   
                                                      4.1560+-0.3903     ?      4.3464+-0.3441        ? might be 1.0458x slower
   object-test                                        2.7609+-0.0848     ?      2.7688+-0.0712        ?
   obvious-sink-pathology-taken                      98.6923+-1.3942           98.3037+-0.9666        
   obvious-sink-pathology                            93.7749+-1.1135           93.7169+-1.6205        
   obviously-elidable-new-object                     28.4962+-0.5007           28.4494+-0.5897        
   plus-boolean-arith                                 2.4133+-0.1277            2.3645+-0.0174          might be 1.0207x faster
   plus-boolean-double                                3.1164+-0.1543     ?      3.1644+-0.1885        ? might be 1.0154x slower
   plus-boolean                                       2.4760+-0.0161     ?      2.5132+-0.0764        ? might be 1.0151x slower
   poly-chain-access-different-prototypes-simple   
                                                      3.2229+-0.1150     ?      3.2782+-0.1307        ? might be 1.0171x slower
   poly-chain-access-different-prototypes             3.2436+-0.0684            3.2118+-0.0159        
   poly-chain-access-simpler                          3.3081+-0.1745            3.2166+-0.0523          might be 1.0284x faster
   poly-chain-access                                  3.2865+-0.1400     ?      3.3391+-0.1487        ? might be 1.0160x slower
   poly-stricteq                                     49.4473+-0.6577     ?     49.6668+-0.7268        ?
   polymorphic-array-call                             1.3849+-0.2068            1.2618+-0.1248          might be 1.0975x faster
   polymorphic-get-by-id                              2.8867+-0.1265     ?      2.9698+-0.2036        ? might be 1.0288x slower
   polymorphic-put-by-id                             28.7363+-0.7201           28.3782+-1.0326          might be 1.0126x faster
   polymorphic-put-by-val-with-string                28.2849+-0.7238           27.9642+-1.0309          might be 1.0115x faster
   polymorphic-put-by-val-with-symbol                28.0558+-1.0068     ?     28.9895+-1.2947        ? might be 1.0333x slower
   polymorphic-structure                             13.3973+-0.5866           13.0800+-0.5027          might be 1.0243x faster
   polyvariant-monomorphic-get-by-id                  6.6219+-1.0366            6.5989+-0.9456        
   proto-getter-access                                8.5616+-0.4166            8.3719+-0.2102          might be 1.0227x faster
   prototype-access-with-mutating-prototype           5.5755+-0.4877            5.4184+-0.1797          might be 1.0290x faster
   put-by-id-replace-and-transition                   7.7857+-0.7724     ?      7.9415+-0.7397        ? might be 1.0200x slower
   put-by-id-slightly-polymorphic                     2.6199+-0.0612     ?      2.7395+-0.3058        ? might be 1.0456x slower
   put-by-id                                          9.6626+-0.4744     ?     10.2043+-0.6413        ? might be 1.0561x slower
   put-by-val-direct                                  0.3442+-0.0149            0.3400+-0.0192          might be 1.0123x faster
   put-by-val-large-index-blank-indexing-type   
                                                      5.1318+-0.2781     ?      5.3641+-0.3438        ? might be 1.0453x slower
   put-by-val-machine-int                             2.5896+-0.2468     ?      2.6468+-0.4675        ? might be 1.0221x slower
   put-by-val-with-string-replace-and-transition   
                                                     10.7299+-0.8439           10.5822+-0.7138          might be 1.0140x faster
   put-by-val-with-string-slightly-polymorphic   
                                                      3.0139+-0.3007     ?      3.0375+-0.2574        ?
   put-by-val-with-string                            10.3297+-0.8329     ?     10.5371+-0.8062        ? might be 1.0201x slower
   put-by-val-with-symbol-replace-and-transition   
                                                     12.0344+-0.5191           11.6502+-0.5110          might be 1.0330x faster
   put-by-val-with-symbol-slightly-polymorphic   
                                                      3.2568+-0.2353            3.1899+-0.1298          might be 1.0210x faster
   put-by-val-with-symbol                            10.0896+-0.1531     ?     10.7595+-0.8182        ? might be 1.0664x slower
   rare-osr-exit-on-local                            13.7036+-0.4983     ?     13.9779+-0.9192        ? might be 1.0200x slower
   register-pressure-from-osr                        17.3906+-0.4017     ?     17.9222+-0.8392        ? might be 1.0306x slower
   repeat-multi-get-by-offset                        21.8948+-0.9225     ?     21.9271+-0.5174        ?
   setter-prototype                                   7.8108+-0.2134            7.6501+-0.1741          might be 1.0210x faster
   setter                                             5.5090+-0.4024     ?      5.9328+-0.7314        ? might be 1.0769x slower
   simple-activation-demo                            24.2730+-0.8519     ?     25.0763+-2.0261        ? might be 1.0331x slower
   simple-getter-access                              10.7284+-0.3070     ?     10.9055+-0.5756        ? might be 1.0165x slower
   simple-poly-call-nested                            8.7455+-0.8683     ?      8.7459+-0.7189        ?
   simple-poly-call                                   1.2906+-0.0925            1.2791+-0.0446        
   sin-boolean                                       20.1574+-3.1638     ?     20.5875+-2.3352        ? might be 1.0213x slower
   singleton-scope                                   59.7303+-2.1592           58.0639+-0.7636          might be 1.0287x faster
   sink-function                                     10.0750+-0.8132     ?     10.8610+-1.3077        ? might be 1.0780x slower
   sink-huge-activation                              16.2224+-1.1275           16.1589+-0.3719        
   sinkable-new-object-dag                           53.9622+-1.1710     ?     55.3050+-1.6790        ? might be 1.0249x slower
   sinkable-new-object-taken                         44.4919+-0.5824           44.3984+-1.0615        
   sinkable-new-object                               29.7314+-0.4493     ?     29.8949+-1.1875        ?
   slow-array-profile-convergence                     2.3896+-0.1201     ?      2.4250+-0.2162        ? might be 1.0148x slower
   slow-convergence                                   2.3771+-0.0707            2.3584+-0.0687        
   slow-ternaries                                    18.1135+-2.3750     ?     18.6585+-2.8141        ? might be 1.0301x slower
   sorting-benchmark                                 16.9252+-0.5725           16.7649+-0.4860        
   sparse-conditional                                 1.1622+-0.0376            1.1418+-0.0180          might be 1.0178x faster
   splice-to-remove                                  11.8169+-0.1422     ?     12.0164+-0.3922        ? might be 1.0169x slower
   string-char-code-at                               13.1501+-0.2771     ?     13.1674+-0.1150        ?
   string-concat-object                               2.2084+-0.1336            2.1913+-0.0617        
   string-concat-pair-object                          2.1892+-0.0636            2.1373+-0.1368          might be 1.0243x faster
   string-concat-pair-simple                          9.0778+-0.1800     ?      9.3172+-0.5780        ? might be 1.0264x slower
   string-concat-simple                               9.9178+-0.6586     ^      9.0471+-0.1811        ^ definitely 1.0962x faster
   string-cons-repeat                                 6.3351+-0.2255     ?      6.4325+-0.1771        ? might be 1.0154x slower
   string-cons-tower                                  6.8962+-0.5426            6.6569+-0.3430          might be 1.0360x faster
   string-equality                                   16.2898+-0.5242           16.1002+-0.4667          might be 1.0118x faster
   string-get-by-val-big-char                         6.4651+-0.0890     ?      6.8818+-0.5906        ? might be 1.0644x slower
   string-get-by-val-out-of-bounds-insane             3.0652+-0.1217            3.0173+-0.1134          might be 1.0159x faster
   string-get-by-val-out-of-bounds                    4.0585+-0.3095            4.0017+-0.1765          might be 1.0142x faster
   string-get-by-val                                  2.9029+-0.1752            2.8044+-0.0351          might be 1.0351x faster
   string-hash                                        1.8371+-0.0503     ?      1.8792+-0.1623        ? might be 1.0229x slower
   string-long-ident-equality                        15.3940+-1.1665           15.0904+-0.5786          might be 1.0201x faster
   string-out-of-bounds                              10.0917+-0.4077     ?     10.3901+-1.0949        ? might be 1.0296x slower
   string-repeat-arith                               27.2160+-0.9256           27.1485+-1.8965        
   string-sub                                        54.4883+-1.0358     ?     54.5116+-1.3047        ?
   string-test                                        2.8726+-0.0964            2.7803+-0.0560          might be 1.0332x faster
   string-var-equality                               27.6686+-1.1445           26.9029+-0.8513          might be 1.0285x faster
   structure-hoist-over-transitions                   2.4249+-0.1365     ?      2.5789+-0.5778        ? might be 1.0635x slower
   substring-concat-weird                            36.5255+-1.4907           35.8383+-1.0758          might be 1.0192x faster
   substring-concat                                  40.0963+-1.1212           39.9390+-0.7520        
   substring                                         44.3925+-1.4709     ?     44.8373+-1.8841        ? might be 1.0100x slower
   switch-char-constant                               2.6491+-0.0502     ?      2.7298+-0.1348        ? might be 1.0305x slower
   switch-char                                        5.6741+-0.9712            5.6370+-1.0183        
   switch-constant                                    7.9263+-1.3621            7.8411+-0.9787          might be 1.0109x faster
   switch-string-basic-big-var                       14.6364+-0.5050           14.4184+-0.4696          might be 1.0151x faster
   switch-string-basic-big                           15.0570+-0.4297     ?     15.1920+-0.5177        ?
   switch-string-basic-var                           13.7865+-1.7485           13.0011+-0.2072          might be 1.0604x faster
   switch-string-basic                               12.6484+-0.4246           12.5808+-0.4848        
   switch-string-big-length-tower-var                18.3653+-1.4234     ?     18.4858+-1.0141        ?
   switch-string-length-tower-var                    13.0957+-0.3871     ?     13.2309+-0.4815        ? might be 1.0103x slower
   switch-string-length-tower                        11.5552+-0.4248           11.5026+-0.5413        
   switch-string-short                               11.3419+-0.1810     ?     11.7533+-0.3833        ? might be 1.0363x slower
   switch                                            10.5983+-0.4137     ?     11.5158+-0.8019        ? might be 1.0866x slower
   tear-off-arguments-simple                          3.1368+-0.1823            3.0752+-0.2244          might be 1.0200x faster
   tear-off-arguments                                 4.0642+-0.2453            4.0125+-0.1010          might be 1.0129x faster
   temporal-structure                                11.7295+-0.2896           11.6260+-0.3139        
   to-int32-boolean                                  12.5429+-0.2041           12.3818+-0.1283          might be 1.0130x faster
   try-catch-get-by-val-cloned-arguments             13.8665+-0.3500           13.7037+-0.4299          might be 1.0119x faster
   try-catch-get-by-val-direct-arguments              6.3129+-0.1634     ?      6.7415+-0.4293        ? might be 1.0679x slower
   try-catch-get-by-val-scoped-arguments              7.6349+-0.5994     ?      7.6616+-0.2337        ?
   typed-array-get-set-by-val-profiling              27.3520+-0.6562           26.7581+-0.4613          might be 1.0222x faster
   undefined-property-access                        223.0888+-0.1836     ?    223.9167+-0.6561        ?
   undefined-test                                     2.9588+-0.0448            2.9197+-0.0642          might be 1.0134x faster
   unprofiled-licm                                   14.4271+-0.5423           13.9625+-0.5779          might be 1.0333x faster
   varargs-call                                      13.0549+-0.2010           12.9299+-0.2940        
   varargs-construct-inline                          22.2209+-0.8282     ?     22.5580+-1.8607        ? might be 1.0152x slower
   varargs-construct                                 20.0676+-0.5649           20.0379+-0.5136        
   varargs-inline                                     8.6772+-0.2505     ?      9.0049+-0.5491        ? might be 1.0378x slower
   varargs-strict-mode                                9.5964+-0.2421     ?      9.6805+-0.3493        ?
   varargs                                            9.6348+-0.4864     ?      9.8169+-0.7100        ? might be 1.0189x slower
   weird-inlining-const-prop                          2.1692+-0.2261            2.0862+-0.0741          might be 1.0398x faster

   <geometric>                                        7.8854+-0.0091     ?      7.8884+-0.0329        ? might be 1.0004x slower

                                                        TipOfTree                  LLIntIC                                      
AsmBench:
   bigfib.cpp                                       448.6382+-11.8803         444.5765+-8.4518        
   cray.c                                           389.4518+-1.2282     ?    390.1629+-0.9951        ?
   dry.c                                            422.5213+-8.5673     ?    423.5380+-2.6095        ?
   FloatMM.c                                        680.3040+-1.5936     ?    682.1699+-6.4600        ?
   gcc-loops.cpp                                   3428.2941+-42.1605        3412.9740+-25.6648       
   n-body.c                                         820.9386+-2.6853     ?    821.1897+-3.6103        ?
   Quicksort.c                                      405.1803+-4.4708     ?    406.2826+-2.9045        ?
   stepanov_container.cpp                          3468.7686+-32.0511    ?   3474.0173+-22.1040       ?
   Towers.c                                         232.1965+-1.0467          232.1600+-1.6289        

   <geometric>                                      710.4447+-4.2664          710.2847+-1.5655          might be 1.0002x faster

                                                        TipOfTree                  LLIntIC                                      
CompressionBench:
   huffman                                           58.7808+-0.7544     ?     59.4109+-2.0454        ? might be 1.0107x slower
   arithmetic-simple                                270.4141+-1.1514     ?    270.8094+-1.2237        ?
   arithmetic-precise                               241.1982+-0.8659          240.9763+-1.4014        
   arithmetic-complex-precise                       243.0799+-1.8268          243.0332+-3.1497        
   arithmetic-precise-order-0                       279.0920+-2.6851     ?    280.6154+-5.9362        ?
   arithmetic-precise-order-1                       292.6687+-1.2813          292.2852+-1.5760        
   arithmetic-precise-order-2                       339.9925+-1.3793     ?    340.2854+-3.8729        ?
   arithmetic-simple-order-1                        314.3483+-1.5399          312.9745+-1.8920        
   arithmetic-simple-order-2                        362.7097+-1.3678     ?    367.7477+-5.1268        ? might be 1.0139x slower
   lz-string                                        312.5353+-3.7943          311.7299+-4.5051        

   <geometric>                                      249.1592+-0.6574     ?    249.7143+-1.5643        ? might be 1.0022x slower

                                                        TipOfTree                  LLIntIC                                      
Geomean of preferred means:
   <scaled-result>                                   50.8234+-0.2493     ?     50.8430+-0.2414        ? might be 1.0004x slower
Comment 10 Filip Pizlo 2015-09-14 13:03:14 PDT
Created attachment 261124 [details]
the patch
Comment 11 WebKit Commit Bot 2015-09-14 13:05:56 PDT
Attachment 261124 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:2535:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:2535:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:2536:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
ERROR: Source/JavaScriptCore/bytecode/PutByIdFlags.cpp:37:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 4 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 12 Geoffrey Garen 2015-09-14 13:11:08 PDT
Comment on attachment 261124 [details]
the patch

r=me
Comment 13 Filip Pizlo 2015-09-14 15:07:29 PDT
I'm pretty sure I fixed the iOS breakage locally.
Comment 14 Filip Pizlo 2015-09-14 15:11:20 PDT
Landed in http://trac.webkit.org/changeset/189751
Comment 15 WebKit Commit Bot 2015-09-14 16:39:28 PDT
Re-opened since this is blocked by bug 149143
Comment 16 Filip Pizlo 2015-09-14 17:56:52 PDT
Landed in http://trac.webkit.org/changeset/189766