Bug 148259

Summary: LICM should be sound even if the CFG has changed
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, basile_clement, benjamin, ggaren, mark.lam, mhahnenb, msaboff, nrotem, oliver, saam, sam
Priority: P2    
Version: Other   
Hardware: All   
OS: All   
Bug Depends on: 145204    
Bug Blocks: 148586, 148260    
Attachments:
Description Flags
the patch benjamin: review+

Filip Pizlo
Reported 2015-08-20 16:06:04 PDT
The main thing is knowing whether the loop pre-header is a place where exiting is OK.
Attachments
the patch (15.75 KB, patch)
2015-08-28 13:32 PDT, Filip Pizlo
benjamin: review+
Filip Pizlo
Comment 1 2015-08-28 13:32:28 PDT
Created attachment 260173 [details] the patch
Benjamin Poulain
Comment 2 2015-08-28 14:41:34 PDT
Comment on attachment 260173 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=260173&action=review I am not familiar with the exitOK craziness but this looks sensible. > Source/JavaScriptCore/dfg/DFGLICMPhase.cpp:137 > + numberOfPreHeaders++; WebKit style would be ++numberOfPreHeaders; ...for some reason. > Source/JavaScriptCore/dfg/DFGLoopPreHeaderCreationPhase.cpp:60 > + // Notice how the Upsilons are not in the predecessor of the Phi anymore. It's not clear if this > + // would be bad. Probably not, but it's weird anyway. We should add a validation rule, and we That does not seem bad to me...
Filip Pizlo
Comment 3 2015-08-28 14:52:34 PDT
(In reply to comment #2) > Comment on attachment 260173 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=260173&action=review > > I am not familiar with the exitOK craziness but this looks sensible. > > > Source/JavaScriptCore/dfg/DFGLICMPhase.cpp:137 > > + numberOfPreHeaders++; > > WebKit style would be > ++numberOfPreHeaders; > ...for some reason. Fixed! > > > Source/JavaScriptCore/dfg/DFGLoopPreHeaderCreationPhase.cpp:60 > > + // Notice how the Upsilons are not in the predecessor of the Phi anymore. It's not clear if this > > + // would be bad. Probably not, but it's weird anyway. We should add a validation rule, and we > > That does not seem bad to me... Yeah, it doesn't seem terrible. We just have to make a choice to either recognize that as a possibility and document it, or we need to require that Upsilons are canonicalized to the Phi predecessors, and document that. Right now we just leave the question open, hence the FIXME. Also, right now we never run pre-header creation in SSA, so this issue simply doesn't come up. So, we don't know what would happen, if it did come up. Hence, if someone tries to convert the phase to work on SSA (or just invokes the phase in SSA), that FIXME is there to remind you that you have introduced an IR pattern that we previously didn't consider.
Filip Pizlo
Comment 4 2015-08-28 15:37:42 PDT
This does not appear to have an effect on performance: 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 (r189124) "LICMExitOK" at /Volumes/Data/primary/OpenSource/WebKitBuild/Release/jsc (r189124) Collected 7 samples per benchmark/VM, with 7 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 LICMExitOK SunSpider: 3d-cube 4.6135+-0.2079 ? 4.6490+-0.3009 ? 3d-morph 5.2972+-0.1792 5.2244+-0.0614 might be 1.0139x faster 3d-raytrace 4.9949+-0.0340 ? 5.0840+-0.2030 ? might be 1.0178x slower access-binary-trees 2.0006+-0.2203 1.9659+-0.0810 might be 1.0177x faster access-fannkuch 5.3201+-0.2356 5.2175+-0.0812 might be 1.0197x faster access-nbody 2.4142+-0.0548 ? 2.5030+-0.1500 ? might be 1.0368x slower access-nsieve 2.9895+-0.0901 ? 3.0325+-0.0937 ? might be 1.0144x slower bitops-3bit-bits-in-byte 1.4827+-0.1328 1.4780+-0.0812 bitops-bits-in-byte 3.2294+-0.0967 3.1950+-0.0423 might be 1.0108x faster bitops-bitwise-and 1.9811+-0.0582 ? 2.1229+-0.2219 ? might be 1.0716x slower bitops-nsieve-bits 2.9345+-0.0897 ? 3.0161+-0.1367 ? might be 1.0278x slower controlflow-recursive 2.0872+-0.1407 1.9432+-0.1038 might be 1.0741x faster crypto-aes 3.8426+-0.2135 3.8257+-0.2977 crypto-md5 2.4723+-0.2635 2.3590+-0.0740 might be 1.0480x faster crypto-sha1 2.3632+-0.1968 2.2455+-0.1230 might be 1.0524x faster date-format-tofte 6.5397+-0.2211 ? 6.7213+-0.2596 ? might be 1.0278x slower date-format-xparb 4.6289+-0.3336 4.5768+-0.1821 might be 1.0114x faster math-cordic 2.8140+-0.1652 ? 3.0020+-0.7302 ? might be 1.0668x slower math-partial-sums 5.0235+-0.1207 ? 5.0451+-0.1881 ? math-spectral-norm 1.7430+-0.0416 ? 1.8081+-0.0919 ? might be 1.0373x slower regexp-dna 6.4519+-0.2489 ? 6.5976+-0.2121 ? might be 1.0226x slower string-base64 4.5059+-0.4590 4.2384+-0.1762 might be 1.0631x faster string-fasta 5.8607+-0.3035 ? 6.7460+-2.4934 ? might be 1.1511x slower string-tagcloud 7.7774+-0.0793 ? 8.2309+-0.4912 ? might be 1.0583x slower string-unpack-code 18.7444+-1.0840 18.1560+-0.7461 might be 1.0324x faster string-validate-input 4.4201+-0.0707 ? 4.6698+-0.4502 ? might be 1.0565x slower <arithmetic> 4.4820+-0.0723 ? 4.5251+-0.0900 ? might be 1.0096x slower TipOfTree LICMExitOK LongSpider: 3d-cube 817.2873+-5.8588 ? 819.1008+-16.8328 ? 3d-morph 1496.4801+-9.1777 1489.6412+-5.3951 3d-raytrace 594.5786+-5.3124 ? 595.1396+-3.6693 ? access-binary-trees 793.5456+-6.5995 792.2739+-8.0686 access-fannkuch 273.2230+-3.6663 ? 278.4969+-7.7329 ? might be 1.0193x slower access-nbody 507.8719+-5.0187 507.1450+-3.3244 access-nsieve 367.1509+-21.3282 ? 371.8929+-22.3046 ? might be 1.0129x slower bitops-3bit-bits-in-byte 38.4224+-0.6304 ? 38.5778+-0.9694 ? bitops-bits-in-byte 74.6547+-0.6576 ? 75.1801+-0.9336 ? bitops-nsieve-bits 402.7707+-4.2918 400.6693+-4.7972 controlflow-recursive 422.6918+-3.3199 420.6275+-1.4491 crypto-aes 571.0076+-7.0723 565.9223+-11.7351 crypto-md5 482.9322+-21.3286 ? 489.4794+-2.8709 ? might be 1.0136x slower crypto-sha1 635.9345+-10.5679 626.8860+-9.3523 might be 1.0144x faster date-format-tofte 504.1233+-14.4630 493.1081+-5.2262 might be 1.0223x faster date-format-xparb 670.1132+-34.2201 659.0229+-6.5789 might be 1.0168x faster hash-map 149.6915+-2.0505 148.9519+-1.8104 math-cordic 479.2579+-2.8663 ? 481.5912+-3.4856 ? math-partial-sums 465.1179+-1.6769 ? 465.4683+-1.4835 ? math-spectral-norm 546.7384+-2.3776 ? 548.5211+-5.5796 ? string-base64 347.9546+-8.7616 347.5533+-6.8530 string-fasta 363.0392+-2.0283 361.6469+-1.0921 string-tagcloud 175.8611+-1.1943 174.6818+-0.9035 <geometric> 387.6895+-1.3242 387.2465+-0.9195 might be 1.0011x faster TipOfTree LICMExitOK V8Spider: crypto 48.6100+-1.8379 48.1591+-1.5449 deltablue 85.3010+-2.5016 84.6094+-5.1212 earley-boyer 39.0124+-1.2078 ? 39.8956+-1.1136 ? might be 1.0226x slower raytrace 32.4173+-1.3303 31.0273+-1.7322 might be 1.0448x faster regexp 62.5481+-2.0326 61.3258+-1.0199 might be 1.0199x faster richards 64.7092+-1.1558 64.4942+-1.3885 splay 35.1023+-1.3400 ? 36.7514+-2.2579 ? might be 1.0470x slower <geometric> 49.6363+-0.4128 49.5118+-0.9781 might be 1.0025x faster TipOfTree LICMExitOK Octane: encrypt 0.17462+-0.02330 0.16667+-0.00447 might be 1.0477x faster decrypt 3.22520+-0.09999 3.21980+-0.10886 deltablue x2 0.15651+-0.00293 0.15630+-0.00163 earley 0.27469+-0.00271 0.27421+-0.00257 boyer 4.16832+-0.10629 4.15096+-0.08099 navier-stokes x2 4.83595+-0.01786 ? 4.84091+-0.02600 ? raytrace x2 1.01556+-0.04134 0.98533+-0.03932 might be 1.0307x faster richards x2 0.10779+-0.00120 ? 0.10933+-0.00116 ? might be 1.0142x slower splay x2 0.32510+-0.00276 ? 0.32955+-0.00682 ? might be 1.0137x slower regexp x2 24.65094+-0.21848 ? 24.73347+-0.30344 ? pdfjs x2 36.66072+-0.24184 ? 36.94987+-0.29325 ? mandreel x2 43.81576+-0.47353 43.71492+-0.57164 gbemu x2 33.81141+-0.14912 ? 34.00492+-0.62430 ? closure 0.56116+-0.00540 0.55976+-0.00213 jquery 7.06230+-0.04560 ? 7.10008+-0.05436 ? box2d x2 9.96297+-0.11543 9.95132+-0.08017 zlib x2 384.48141+-4.45184 382.37587+-6.07859 typescript x2 642.12873+-8.72855 634.67358+-6.66395 might be 1.0117x faster <geometric> 5.53719+-0.03981 5.52645+-0.01230 might be 1.0019x faster TipOfTree LICMExitOK Kraken: ai-astar 223.636+-8.906 ? 225.723+-8.827 ? audio-beat-detection 50.126+-0.806 ? 50.219+-0.431 ? audio-dft 95.134+-0.817 ? 95.481+-1.611 ? audio-fft 34.944+-0.486 ? 35.132+-0.735 ? audio-oscillator 59.916+-0.829 59.171+-0.619 might be 1.0126x faster imaging-darkroom 63.018+-4.183 61.481+-1.779 might be 1.0250x faster imaging-desaturate 49.641+-1.198 ? 50.600+-2.285 ? might be 1.0193x slower imaging-gaussian-blur 84.834+-1.207 ? 84.972+-1.032 ? json-parse-financial 39.280+-0.912 38.289+-0.530 might be 1.0259x faster json-stringify-tinderbox 22.557+-0.738 ? 23.005+-0.866 ? might be 1.0199x slower stanford-crypto-aes 40.468+-0.650 ? 43.801+-6.068 ? might be 1.0824x slower stanford-crypto-ccm 35.209+-1.383 ? 35.899+-0.856 ? might be 1.0196x slower stanford-crypto-pbkdf2 93.644+-0.598 ? 94.478+-1.310 ? stanford-crypto-sha256-iterative 36.179+-0.623 ? 36.202+-0.757 ? <arithmetic> 66.328+-0.695 ? 66.747+-0.846 ? might be 1.0063x slower TipOfTree LICMExitOK JSRegress: abc-forward-loop-equal 29.5175+-0.8621 29.4101+-0.6952 abc-postfix-backward-loop 29.6942+-0.7907 ? 30.3485+-1.0470 ? might be 1.0220x slower abc-simple-backward-loop 30.0272+-1.2573 28.9308+-0.6845 might be 1.0379x faster abc-simple-forward-loop 29.9419+-1.5790 29.8170+-1.0331 abc-skippy-loop 21.7100+-1.1871 ? 21.7554+-0.6365 ? abs-boolean 2.4262+-0.0605 2.3901+-0.0404 might be 1.0151x faster adapt-to-double-divide 16.4942+-0.4602 16.2450+-0.3637 might be 1.0153x faster aliased-arguments-getbyval 1.2791+-0.2121 1.1541+-0.0302 might be 1.1082x faster allocate-big-object 2.5086+-0.2494 2.4869+-0.1909 arguments-named-and-reflective 10.7385+-0.0851 10.6838+-0.2741 arguments-out-of-bounds 9.3638+-0.4357 9.3438+-0.2625 arguments-strict-mode 9.9324+-0.2747 9.6711+-0.2517 might be 1.0270x faster arguments 8.3913+-0.1546 8.2510+-0.1747 might be 1.0170x faster arity-mismatch-inlining 0.8427+-0.0366 0.7983+-0.0447 might be 1.0556x faster array-access-polymorphic-structure 6.6855+-2.0134 5.9712+-0.3197 might be 1.1196x faster array-nonarray-polymorhpic-access 24.9423+-0.7870 ? 25.2947+-1.0339 ? might be 1.0141x slower array-prototype-every 75.4042+-1.3253 ? 75.4136+-1.3079 ? array-prototype-forEach 74.9834+-1.8205 74.0259+-1.1225 might be 1.0129x faster array-prototype-map 81.2676+-1.6357 ? 87.1975+-15.6061 ? might be 1.0730x slower array-prototype-reduce 70.6018+-1.2518 ? 71.7140+-1.7095 ? might be 1.0158x slower array-prototype-reduceRight 71.3504+-4.7705 70.2523+-1.7525 might be 1.0156x faster array-prototype-some 74.8663+-0.7619 74.8016+-0.7815 array-splice-contiguous 21.7904+-0.9244 21.6932+-0.6567 array-with-double-add 3.4154+-0.0700 3.4133+-0.0436 array-with-double-increment 3.0532+-0.0231 3.0378+-0.0881 array-with-double-mul-add 4.1226+-0.0340 ? 4.1725+-0.1066 ? might be 1.0121x slower array-with-double-sum 3.1765+-0.0856 3.1684+-0.1312 array-with-int32-add-sub 6.5220+-1.7559 5.9125+-0.1885 might be 1.1031x faster array-with-int32-or-double-sum 3.2302+-0.0880 3.1942+-0.0560 might be 1.0113x faster ArrayBuffer-DataView-alloc-large-long-lived 25.8017+-0.9343 25.3866+-0.2244 might be 1.0163x faster ArrayBuffer-DataView-alloc-long-lived 11.8805+-0.4274 11.8619+-0.4143 ArrayBuffer-Int32Array-byteOffset 3.5884+-0.1157 3.5769+-0.1233 ArrayBuffer-Int8Array-alloc-large-long-lived 30.2916+-0.5414 30.2114+-0.9717 ArrayBuffer-Int8Array-alloc-long-lived-buffer 20.4425+-0.5574 20.3508+-0.4955 ArrayBuffer-Int8Array-alloc-long-lived 12.6024+-0.7838 ? 12.6149+-1.0070 ? ArrayBuffer-Int8Array-alloc 9.6583+-0.4465 9.5658+-0.2113 arrowfunction-call 9.7712+-0.1813 ? 10.0557+-0.2492 ? might be 1.0291x slower asmjs_bool_bug 6.8917+-0.2190 ? 6.8959+-0.2907 ? assign-custom-setter-polymorphic 2.3459+-0.1022 ? 2.3526+-0.1106 ? assign-custom-setter 3.6049+-1.1671 3.1712+-0.1023 might be 1.1368x faster basic-set 8.5003+-0.2666 ^ 8.0233+-0.1316 ^ definitely 1.0595x faster big-int-mul 3.3943+-0.0936 ? 3.4283+-0.0771 ? might be 1.0100x slower boolean-test 2.8333+-0.0504 ? 2.8664+-0.0415 ? might be 1.0117x slower branch-fold 3.6155+-0.1241 3.5856+-0.1000 branch-on-string-as-boolean 17.0466+-0.5110 16.9670+-0.4689 by-val-generic 2.3455+-0.0917 2.3133+-0.1160 might be 1.0139x faster call-spread-apply 25.8419+-0.6560 ? 26.7903+-1.0252 ? might be 1.0367x slower call-spread-call 21.5093+-0.4188 ? 21.7802+-0.9386 ? might be 1.0126x slower captured-assignments 0.4386+-0.0171 0.4316+-0.0213 might be 1.0162x faster cast-int-to-double 5.0402+-0.0992 ? 5.0811+-0.2225 ? cell-argument 6.7322+-0.7328 6.3256+-0.4295 might be 1.0643x faster cfg-simplify 2.6676+-0.0875 2.6374+-0.0735 might be 1.0115x faster chain-getter-access 8.1107+-0.1077 ? 8.5507+-0.4119 ? might be 1.0542x slower cmpeq-obj-to-obj-other 12.4426+-1.2013 11.6990+-1.2543 might be 1.0636x faster constant-test 4.6877+-0.0161 ? 4.7442+-0.0559 ? might be 1.0120x slower create-lots-of-functions 9.4415+-0.2154 ? 9.5153+-0.4838 ? cse-new-array-buffer 2.1651+-0.1058 ? 2.1832+-0.1435 ? cse-new-array 2.1596+-0.1458 ? 2.2908+-0.2847 ? might be 1.0608x slower DataView-custom-properties 30.3315+-0.3671 ? 31.1466+-1.1116 ? might be 1.0269x slower delay-tear-off-arguments-strictmode 12.0271+-0.4302 ? 12.1507+-0.4118 ? might be 1.0103x slower deltablue-varargs 164.9954+-5.5853 159.6237+-2.7667 might be 1.0337x faster destructuring-arguments 159.6517+-2.4741 ? 160.3069+-4.0923 ? destructuring-parameters-overridden-by-function 0.4566+-0.0471 0.4418+-0.0235 might be 1.0336x faster destructuring-swap 4.6392+-0.0469 4.5624+-0.0586 might be 1.0168x faster direct-arguments-getbyval 1.1537+-0.0665 ? 1.1953+-0.0647 ? might be 1.0361x slower div-boolean-double 5.2832+-0.0961 5.2674+-0.1132 div-boolean 8.1505+-0.1010 ? 8.2236+-0.1398 ? double-get-by-val-out-of-bounds 3.9084+-0.0728 ? 3.9195+-0.0885 ? double-pollution-getbyval 8.6263+-0.0835 ? 8.6447+-0.1480 ? double-pollution-putbyoffset 3.9277+-0.2385 3.8730+-0.3768 might be 1.0141x faster double-real-use 24.1664+-0.7766 23.9327+-0.5499 double-to-int32-typed-array-no-inline 1.9308+-0.0463 ? 1.9703+-0.0947 ? might be 1.0205x slower double-to-int32-typed-array 1.8419+-0.1686 1.8303+-0.2938 double-to-uint32-typed-array-no-inline 2.0206+-0.1143 2.0133+-0.0582 double-to-uint32-typed-array 1.8500+-0.0845 ? 1.8943+-0.1886 ? might be 1.0239x slower elidable-new-object-dag 34.0213+-0.8017 ? 34.2637+-1.0266 ? elidable-new-object-roflcopter 32.0517+-1.1738 ? 33.5673+-0.7182 ? might be 1.0473x slower elidable-new-object-then-call 31.9938+-1.0695 31.7497+-0.6907 elidable-new-object-tree 37.6705+-0.6869 37.4911+-1.2941 empty-string-plus-int 4.6455+-0.1478 ? 4.7754+-0.1049 ? might be 1.0280x slower emscripten-cube2hash 27.8104+-1.8167 26.6670+-1.6255 might be 1.0429x faster exit-length-on-plain-object 12.3520+-0.7251 12.3291+-0.5501 external-arguments-getbyval 1.1356+-0.0998 1.0933+-0.0457 might be 1.0388x faster external-arguments-putbyval 2.2512+-0.1595 2.1414+-0.1100 might be 1.0513x faster fixed-typed-array-storage-var-index 1.1523+-0.1093 ? 1.1613+-0.0543 ? fixed-typed-array-storage 0.8274+-0.0419 ? 0.8402+-0.0265 ? might be 1.0156x slower Float32Array-matrix-mult 4.0272+-0.2988 ? 4.0864+-0.2570 ? might be 1.0147x slower Float32Array-to-Float64Array-set 46.3691+-0.6442 ? 46.5468+-1.0655 ? Float64Array-alloc-long-lived 70.4576+-1.6128 68.8197+-0.6633 might be 1.0238x faster Float64Array-to-Int16Array-set 56.9480+-1.5679 55.5815+-1.1724 might be 1.0246x faster fold-double-to-int 11.8413+-0.0772 ? 12.0963+-0.5279 ? might be 1.0215x slower fold-get-by-id-to-multi-get-by-offset-rare-int 12.4526+-0.7246 11.5824+-0.9692 might be 1.0751x faster fold-get-by-id-to-multi-get-by-offset 10.5914+-0.5181 10.1617+-0.4858 might be 1.0423x faster fold-multi-get-by-offset-to-get-by-offset 8.6175+-1.7564 8.5519+-1.3209 fold-multi-get-by-offset-to-poly-get-by-offset 8.3917+-0.9666 7.6446+-1.6292 might be 1.0977x faster fold-multi-put-by-offset-to-poly-put-by-offset 8.4630+-0.9722 ? 8.4720+-0.6046 ? fold-multi-put-by-offset-to-put-by-offset 4.4289+-0.8980 ? 4.6031+-0.7638 ? might be 1.0393x slower fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 8.1907+-0.3080 7.9540+-0.1440 might be 1.0298x faster fold-put-by-id-to-multi-put-by-offset 9.5437+-0.7510 9.5026+-0.6232 fold-put-by-val-with-string-to-multi-put-by-offset 9.6858+-0.5886 9.4978+-0.7071 might be 1.0198x faster fold-put-by-val-with-symbol-to-multi-put-by-offset 9.7069+-0.5434 ? 10.9170+-0.7204 ? might be 1.1247x slower fold-put-structure 4.1457+-0.2107 ? 4.3701+-0.5157 ? might be 1.0541x slower for-of-iterate-array-entries 10.9382+-0.3974 ? 11.1300+-0.3811 ? might be 1.0175x slower for-of-iterate-array-keys 3.5165+-0.3331 3.2524+-0.0794 might be 1.0812x faster for-of-iterate-array-values 3.5993+-0.2608 3.4470+-0.1781 might be 1.0442x faster fround 17.8258+-0.7931 17.4134+-0.5186 might be 1.0237x faster ftl-library-inlining-dataview 55.1900+-0.9440 ? 55.6848+-1.3042 ? ftl-library-inlining 105.6682+-1.6950 ? 106.5223+-2.6172 ? function-call 10.3997+-0.3597 ^ 9.9195+-0.0998 ^ definitely 1.0484x faster function-dot-apply 1.9369+-0.0563 ? 2.0305+-0.1789 ? might be 1.0483x slower function-test 2.6520+-0.0503 ? 2.7296+-0.1620 ? might be 1.0293x slower function-with-eval 98.3277+-1.3376 98.2923+-2.7265 gcse-poly-get-less-obvious 14.0142+-0.1749 ? 14.0884+-0.2808 ? gcse-poly-get 15.8262+-0.2335 15.7509+-0.3054 gcse 3.7910+-0.0624 3.7671+-0.0290 get-by-id-bimorphic-check-structure-elimination-simple 2.5134+-0.0337 ? 2.6195+-0.0826 ? might be 1.0422x slower get-by-id-bimorphic-check-structure-elimination 5.7549+-0.1652 ? 5.7942+-0.3225 ? get-by-id-chain-from-try-block 5.3395+-0.0300 ? 5.3963+-0.0630 ? might be 1.0106x slower get-by-id-check-structure-elimination 4.3831+-0.0778 ? 4.6278+-0.4040 ? might be 1.0558x slower get-by-id-proto-or-self 15.2765+-0.8520 15.2336+-0.8001 get-by-id-quadmorphic-check-structure-elimination-simple 2.8683+-0.0531 2.8546+-0.0300 get-by-id-self-or-proto 15.0682+-0.5153 ? 15.1449+-0.4603 ? get-by-val-out-of-bounds 3.6793+-0.0941 ? 3.7404+-0.1612 ? might be 1.0166x slower get-by-val-with-string-bimorphic-check-structure-elimination-simple 2.7465+-0.0283 ? 2.9764+-0.3085 ? might be 1.0837x slower get-by-val-with-string-bimorphic-check-structure-elimination 6.0915+-0.3227 5.9638+-0.1524 might be 1.0214x faster get-by-val-with-string-chain-from-try-block 5.5624+-0.1686 5.4622+-0.0986 might be 1.0183x faster get-by-val-with-string-check-structure-elimination 5.1132+-0.0962 ? 5.4623+-0.5847 ? might be 1.0683x slower get-by-val-with-string-proto-or-self 15.1074+-0.7093 15.0043+-0.5173 get-by-val-with-string-quadmorphic-check-structure-elimination-simple 3.0948+-0.0345 3.0823+-0.0310 get-by-val-with-string-self-or-proto 15.3129+-0.9603 ? 15.7849+-0.9049 ? might be 1.0308x slower get-by-val-with-symbol-bimorphic-check-structure-elimination-simple 3.0725+-0.1271 3.0272+-0.0813 might be 1.0150x faster get-by-val-with-symbol-bimorphic-check-structure-elimination 12.2550+-0.1535 ? 12.3188+-0.2220 ? get-by-val-with-symbol-chain-from-try-block 5.6815+-0.2265 5.5197+-0.1484 might be 1.0293x faster get-by-val-with-symbol-check-structure-elimination 10.9734+-0.2017 ? 11.2516+-0.5007 ? might be 1.0254x slower get-by-val-with-symbol-proto-or-self 14.8302+-0.4174 ? 15.6371+-0.6673 ? might be 1.0544x slower get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple 3.8747+-0.0389 ? 4.0485+-0.2988 ? might be 1.0449x slower get-by-val-with-symbol-self-or-proto 15.4757+-0.9449 15.0801+-0.3491 might be 1.0262x faster get_callee_monomorphic 2.3200+-0.1907 2.2174+-0.1696 might be 1.0462x faster get_callee_polymorphic 3.1641+-0.1724 3.1521+-0.1506 getter-no-activation 4.7930+-0.1928 ? 4.8105+-0.1286 ? getter-prototype 9.0179+-0.3338 ? 9.0264+-0.2969 ? getter-richards 122.0512+-4.6675 121.2683+-9.5448 getter 5.7700+-0.7140 5.3366+-0.6699 might be 1.0812x faster global-object-access-with-mutating-structure 5.7161+-0.2605 5.5367+-0.1102 might be 1.0324x faster global-var-const-infer-fire-from-opt 0.8254+-0.0757 0.7891+-0.0153 might be 1.0460x faster global-var-const-infer 0.5908+-0.0418 ? 0.6712+-0.1901 ? might be 1.1361x slower hard-overflow-check-equal 33.0853+-0.8199 ? 33.1447+-1.1128 ? hard-overflow-check 33.6119+-1.7451 32.6675+-0.7311 might be 1.0289x faster HashMap-put-get-iterate-keys 25.7609+-1.2272 25.2037+-1.6522 might be 1.0221x faster HashMap-put-get-iterate 27.9213+-0.5221 ? 28.5785+-2.2362 ? might be 1.0235x slower HashMap-string-put-get-iterate 24.2794+-1.2133 ? 24.4171+-0.8625 ? hoist-make-rope 8.7563+-0.8257 ? 8.9577+-1.0238 ? might be 1.0230x slower hoist-poly-check-structure-effectful-loop 4.1163+-0.1154 ? 4.1247+-0.3190 ? hoist-poly-check-structure 3.2777+-0.0553 ? 3.2819+-0.0962 ? imul-double-only 7.6510+-0.8069 7.3434+-0.1208 might be 1.0419x faster imul-int-only 8.9763+-0.9013 ? 9.0650+-0.7608 ? imul-mixed 7.2353+-0.7933 7.0649+-0.4256 might be 1.0241x faster in-four-cases 17.1875+-0.5086 17.0578+-0.5418 in-one-case-false 9.7841+-0.6456 9.1927+-0.1219 might be 1.0643x faster in-one-case-true 9.6036+-0.6528 9.3881+-0.2017 might be 1.0230x faster in-two-cases 9.9654+-0.3562 ? 10.3823+-1.1363 ? might be 1.0418x slower indexed-properties-in-objects 2.7505+-0.0379 2.7432+-0.0967 infer-closure-const-then-mov-no-inline 3.1067+-0.4805 2.8864+-0.0651 might be 1.0763x faster infer-closure-const-then-mov 18.5082+-0.6986 18.5042+-0.3744 infer-closure-const-then-put-to-scope-no-inline 10.1254+-0.4620 9.8410+-0.0698 might be 1.0289x faster infer-closure-const-then-put-to-scope 20.9185+-0.3271 ? 20.9832+-0.2458 ? infer-closure-const-then-reenter-no-inline 47.3631+-0.7661 ? 47.9479+-0.8392 ? might be 1.0123x slower infer-closure-const-then-reenter 22.3255+-0.7312 21.7529+-0.5157 might be 1.0263x faster infer-constant-global-property 3.3959+-0.0415 ? 3.4406+-0.0904 ? might be 1.0132x slower infer-constant-property 2.6423+-0.1112 ? 2.6665+-0.1550 ? infer-one-time-closure-ten-vars 7.8376+-0.2717 7.7673+-0.3146 infer-one-time-closure-two-vars 7.3827+-0.3347 7.1743+-0.1321 might be 1.0291x faster infer-one-time-closure 7.0792+-0.2367 ? 7.2826+-0.5510 ? might be 1.0287x slower infer-one-time-deep-closure 10.6174+-0.3989 ? 10.9776+-0.5361 ? might be 1.0339x slower inline-arguments-access 3.6861+-0.1703 3.6768+-0.1641 inline-arguments-aliased-access 3.4863+-0.0513 ? 3.5021+-0.2201 ? inline-arguments-local-escape 3.8448+-0.3242 3.6015+-0.1502 might be 1.0676x faster inline-get-scoped-var 4.5904+-0.2324 4.4530+-0.1173 might be 1.0309x faster inlined-put-by-id-transition 10.0122+-0.5367 ? 10.0469+-0.7973 ? inlined-put-by-val-with-string-transition 71.8271+-1.2201 ? 72.1265+-1.7221 ? inlined-put-by-val-with-symbol-transition 69.9735+-1.5154 ? 70.5578+-1.8619 ? int-or-other-abs-then-get-by-val 4.7890+-0.1485 4.7300+-0.1243 might be 1.0125x faster int-or-other-abs-zero-then-get-by-val 16.2141+-0.9677 15.5608+-0.2318 might be 1.0420x faster int-or-other-add-then-get-by-val 3.9042+-0.0673 ? 3.9404+-0.0398 ? int-or-other-add 4.8016+-0.1333 ? 4.8146+-0.0578 ? int-or-other-div-then-get-by-val 3.8585+-0.2279 3.8056+-0.1176 might be 1.0139x faster int-or-other-max-then-get-by-val 3.8301+-0.1012 3.8142+-0.0825 int-or-other-min-then-get-by-val 4.0322+-0.2561 4.0141+-0.3290 int-or-other-mod-then-get-by-val 3.6180+-0.3149 3.4836+-0.0815 might be 1.0386x faster int-or-other-mul-then-get-by-val 3.5076+-0.0262 ? 3.6019+-0.1789 ? might be 1.0269x slower int-or-other-neg-then-get-by-val 4.7598+-0.5108 4.3935+-0.1090 might be 1.0834x faster int-or-other-neg-zero-then-get-by-val 16.4661+-1.1981 15.5850+-0.2588 might be 1.0565x faster int-or-other-sub-then-get-by-val 4.0187+-0.0943 3.9911+-0.0827 int-or-other-sub 3.3810+-0.1347 ? 3.4768+-0.3297 ? might be 1.0284x slower int-overflow-local 4.0669+-0.0740 ? 4.2283+-0.2303 ? might be 1.0397x slower Int16Array-alloc-long-lived 46.2867+-0.7621 45.9717+-1.2126 Int16Array-bubble-sort-with-byteLength 17.2784+-0.3886 ? 17.4439+-0.4326 ? Int16Array-bubble-sort 16.9859+-0.3294 ? 17.3100+-0.3045 ? might be 1.0191x slower Int16Array-load-int-mul 1.4574+-0.0881 1.3900+-0.0398 might be 1.0485x faster Int16Array-to-Int32Array-set 44.7440+-0.8916 43.1135+-0.8098 might be 1.0378x faster Int32Array-alloc-large 12.1153+-0.4958 12.0597+-0.4991 Int32Array-alloc-long-lived 55.6282+-1.1858 54.7035+-1.3218 might be 1.0169x faster Int32Array-alloc 2.8247+-0.1779 2.7525+-0.2069 might be 1.0262x faster Int32Array-Int8Array-view-alloc 6.0163+-0.1785 5.9177+-0.1418 might be 1.0167x faster int52-spill 4.5398+-0.1575 ? 4.5813+-0.2545 ? Int8Array-alloc-long-lived 41.2830+-1.9921 40.1334+-1.5956 might be 1.0286x faster Int8Array-load-with-byteLength 3.3589+-0.0773 ? 3.3738+-0.0352 ? Int8Array-load 3.3305+-0.0542 ? 3.3669+-0.0951 ? might be 1.0109x slower integer-divide 10.1305+-0.2842 ? 10.1472+-0.2045 ? integer-modulo 1.4994+-0.0534 1.4975+-0.0479 is-boolean-fold-tricky 3.8071+-0.1754 ? 3.8239+-0.2266 ? is-boolean-fold 2.6128+-0.0741 2.5707+-0.0288 might be 1.0164x faster is-function-fold-tricky-internal-function 9.4815+-0.0651 ! 10.0978+-0.3271 ! definitely 1.0650x slower is-function-fold-tricky 4.0620+-0.0889 ? 4.0776+-0.0558 ? is-function-fold 2.6505+-0.1013 ? 2.6584+-0.0823 ? is-number-fold-tricky 3.9924+-0.0546 ? 4.0246+-0.0583 ? is-number-fold 2.6765+-0.2145 2.6051+-0.0409 might be 1.0274x faster is-object-or-null-fold-functions 2.6647+-0.1296 2.6185+-0.0182 might be 1.0176x faster is-object-or-null-fold-less-tricky 4.0927+-0.1346 ? 4.1804+-0.0754 ? might be 1.0214x slower is-object-or-null-fold-tricky 5.1700+-0.2069 5.1018+-0.1203 might be 1.0134x faster is-object-or-null-fold 2.6797+-0.1223 2.6120+-0.0345 might be 1.0259x faster is-object-or-null-trickier-function 4.1699+-0.1331 4.1117+-0.0684 might be 1.0141x faster is-object-or-null-trickier-internal-function 10.6138+-0.3444 10.5292+-0.2888 is-object-or-null-tricky-function 4.2307+-0.2966 4.1019+-0.0637 might be 1.0314x faster is-object-or-null-tricky-internal-function 7.8174+-0.2581 ? 8.5906+-2.1359 ? might be 1.0989x slower is-string-fold-tricky 4.2686+-0.7137 4.1299+-0.1187 might be 1.0336x faster is-string-fold 2.5854+-0.0694 ? 2.6381+-0.1634 ? might be 1.0204x slower is-undefined-fold-tricky 3.4951+-0.3749 3.3587+-0.0905 might be 1.0406x faster is-undefined-fold 2.6018+-0.0862 ? 2.6250+-0.0955 ? JSONP-negative-0 0.2514+-0.0090 ? 0.2579+-0.0235 ? might be 1.0257x slower large-int-captured 3.8084+-0.2222 ? 3.8542+-0.1353 ? might be 1.0120x slower large-int-neg 14.0278+-0.5693 13.5895+-0.3829 might be 1.0323x faster large-int 12.4813+-0.2336 ? 12.7831+-0.3524 ? might be 1.0242x slower load-varargs-elimination 20.7061+-0.8469 ? 21.0043+-0.8834 ? might be 1.0144x slower logical-not-weird-types 2.6637+-0.0192 ? 2.6911+-0.0351 ? might be 1.0103x slower logical-not 4.1590+-0.2461 4.0916+-0.1364 might be 1.0165x faster lots-of-fields 10.2944+-1.6454 9.5566+-0.2359 might be 1.0772x faster make-indexed-storage 2.6433+-0.1729 ? 2.7324+-0.1178 ? might be 1.0337x slower make-rope-cse 3.6859+-0.0899 3.6395+-0.2302 might be 1.0127x faster marsaglia-larger-ints 31.7635+-0.4725 ? 32.2146+-0.7850 ? might be 1.0142x slower marsaglia-osr-entry 22.2211+-2.9282 21.2218+-0.7153 might be 1.0471x faster math-with-out-of-bounds-array-values 21.3253+-0.4844 ? 21.5705+-0.4415 ? might be 1.0115x slower max-boolean 2.6597+-0.0864 2.6149+-0.0679 might be 1.0171x faster method-on-number 16.0787+-1.0485 15.9700+-0.5457 min-boolean 2.5874+-0.1172 2.5415+-0.0532 might be 1.0181x faster minus-boolean-double 3.0461+-0.0457 ? 3.0533+-0.0379 ? minus-boolean 2.2804+-0.0467 ? 2.2917+-0.0247 ? misc-strict-eq 28.4180+-1.0310 28.3671+-0.7922 mod-boolean-double 11.2073+-0.3742 10.9893+-0.1543 might be 1.0198x faster mod-boolean 8.6429+-0.5867 8.3026+-0.2220 might be 1.0410x faster mul-boolean-double 3.6175+-0.1209 ? 3.9560+-0.5388 ? might be 1.0936x slower mul-boolean 2.7936+-0.0589 2.7797+-0.0382 neg-boolean 3.0441+-0.0328 ? 3.0559+-0.0425 ? negative-zero-divide 0.3371+-0.0095 ? 0.3380+-0.0234 ? negative-zero-modulo 0.3420+-0.0242 ? 0.3542+-0.0327 ? might be 1.0356x slower negative-zero-negate 0.3214+-0.0144 ? 0.3223+-0.0140 ? nested-function-parsing 44.4359+-1.6588 ? 46.4963+-2.9116 ? might be 1.0464x slower new-array-buffer-dead 87.7211+-1.0492 87.5596+-0.7507 new-array-buffer-push 5.9014+-0.3002 ? 6.0647+-0.4405 ? might be 1.0277x slower new-array-dead 14.5205+-0.9419 ? 14.9744+-1.1649 ? might be 1.0313x slower new-array-push 3.5582+-0.2737 3.4735+-0.1560 might be 1.0244x faster no-inline-constructor 31.2822+-1.2011 ? 33.3830+-4.7277 ? might be 1.0672x slower number-test 2.8906+-0.0941 ? 2.9337+-0.1981 ? might be 1.0149x slower object-closure-call 5.0316+-0.4912 4.8190+-0.3081 might be 1.0441x faster object-get-own-property-symbols-on-large-array 4.0723+-0.1436 ? 4.2056+-0.3687 ? might be 1.0327x slower object-test 2.6448+-0.0757 ? 2.6869+-0.1066 ? might be 1.0159x slower obvious-sink-pathology-taken 99.1552+-1.3639 ? 99.3629+-0.9643 ? obvious-sink-pathology 93.4071+-1.0734 93.3363+-0.6060 obviously-elidable-new-object 29.7225+-2.2985 28.4797+-0.6799 might be 1.0436x faster plus-boolean-arith 2.4332+-0.1265 2.3634+-0.0409 might be 1.0296x faster plus-boolean-double 3.1152+-0.0503 3.0675+-0.0580 might be 1.0156x faster plus-boolean 2.4961+-0.0558 ? 2.5063+-0.1030 ? poly-chain-access-different-prototypes-simple 3.5113+-0.7206 3.2413+-0.0626 might be 1.0833x faster poly-chain-access-different-prototypes 2.9697+-0.3438 2.8993+-0.1080 might be 1.0243x faster poly-chain-access-simpler 3.2007+-0.0680 ? 3.2452+-0.1180 ? might be 1.0139x slower poly-chain-access 3.2317+-0.0489 ? 3.2959+-0.0997 ? might be 1.0199x slower poly-stricteq 47.2912+-0.5565 ? 47.8602+-0.4147 ? might be 1.0120x slower polymorphic-array-call 1.2480+-0.1061 1.1735+-0.0396 might be 1.0635x faster polymorphic-get-by-id 2.7797+-0.0430 2.7731+-0.0371 polymorphic-put-by-id 24.4276+-0.6284 24.3406+-0.4597 polymorphic-put-by-val-with-string 25.6792+-1.0533 25.4634+-1.0017 polymorphic-put-by-val-with-symbol 24.8617+-0.4845 ? 25.3644+-0.6049 ? might be 1.0202x slower polymorphic-structure 13.0024+-0.1861 ? 13.0531+-0.4380 ? polyvariant-monomorphic-get-by-id 6.6196+-1.1573 6.4138+-0.6075 might be 1.0321x faster proto-getter-access 8.2302+-0.1421 ? 8.9672+-1.5771 ? might be 1.0896x slower prototype-access-with-mutating-prototype 5.4181+-0.1497 5.3712+-0.1115 put-by-id-replace-and-transition 7.6561+-0.4245 ? 7.9854+-0.9715 ? might be 1.0430x slower put-by-id-slightly-polymorphic 2.7837+-0.2146 2.6364+-0.1422 might be 1.0559x faster put-by-id 10.1840+-1.2940 9.7111+-0.4632 might be 1.0487x faster put-by-val-direct 0.3206+-0.0069 ? 0.3333+-0.0302 ? might be 1.0395x slower put-by-val-large-index-blank-indexing-type 5.2819+-0.2088 5.2507+-0.2071 put-by-val-machine-int 2.3023+-0.1521 ? 2.3490+-0.0862 ? might be 1.0203x slower put-by-val-with-string-replace-and-transition 10.1496+-0.4282 9.9844+-0.1575 might be 1.0165x faster put-by-val-with-string-slightly-polymorphic 2.8447+-0.1062 2.7952+-0.0211 might be 1.0177x faster put-by-val-with-string 10.5474+-0.6587 10.3524+-0.4086 might be 1.0188x faster put-by-val-with-symbol-replace-and-transition 11.6381+-0.4671 11.5355+-0.2443 put-by-val-with-symbol-slightly-polymorphic 3.1172+-0.0912 ? 3.1483+-0.0972 ? put-by-val-with-symbol 10.0580+-0.2832 ? 10.1701+-0.4410 ? might be 1.0111x slower rare-osr-exit-on-local 14.1603+-0.3410 ? 14.1604+-0.4242 ? register-pressure-from-osr 16.6443+-0.4946 16.5781+-0.4884 repeat-multi-get-by-offset 20.8521+-0.5735 ? 21.6330+-1.9230 ? might be 1.0375x slower setter-prototype 7.5528+-0.1029 ? 7.7215+-0.2001 ? might be 1.0223x slower setter 5.2326+-0.3558 ? 5.9583+-0.5629 ? might be 1.1387x slower simple-activation-demo 24.3528+-0.6553 ? 24.4504+-0.4435 ? simple-getter-access 10.8753+-0.4281 10.4796+-0.2014 might be 1.0378x faster simple-poly-call-nested 8.6765+-1.0412 ? 9.3631+-0.5090 ? might be 1.0791x slower simple-poly-call 1.1212+-0.0196 ? 1.2576+-0.2744 ? might be 1.1216x slower sin-boolean 20.4859+-1.7820 ? 20.9945+-1.8863 ? might be 1.0248x slower singleton-scope 53.0163+-1.2516 52.6427+-0.8878 sink-function 10.3003+-1.0532 ? 10.5070+-0.5461 ? might be 1.0201x slower sink-huge-activation 16.9080+-0.8660 16.3768+-0.7963 might be 1.0324x faster sinkable-new-object-dag 54.4442+-0.9059 ? 55.0298+-0.6485 ? might be 1.0108x slower sinkable-new-object-taken 43.4094+-1.3782 42.0123+-1.6915 might be 1.0333x faster sinkable-new-object 29.6484+-0.5720 ? 30.5427+-1.3083 ? might be 1.0302x slower slow-array-profile-convergence 2.3650+-0.1024 ? 2.3929+-0.1355 ? might be 1.0118x slower slow-convergence 2.2214+-0.0246 ? 2.2359+-0.0529 ? slow-ternaries 18.1325+-1.1397 17.2702+-0.3713 might be 1.0499x faster sorting-benchmark 16.4768+-0.4082 ? 16.8337+-0.3921 ? might be 1.0217x slower sparse-conditional 1.1369+-0.1518 1.1297+-0.0887 splice-to-remove 12.3974+-0.8007 12.3383+-0.2998 string-char-code-at 13.9924+-0.4839 ? 14.2751+-0.5147 ? might be 1.0202x slower string-concat-object 2.1864+-0.1560 2.1141+-0.1343 might be 1.0342x faster string-concat-pair-object 2.1471+-0.1849 2.0631+-0.0908 might be 1.0407x faster string-concat-pair-simple 9.2409+-0.4300 ? 9.2973+-0.3792 ? string-concat-simple 9.4381+-0.6049 ? 9.6341+-0.5335 ? might be 1.0208x slower string-cons-repeat 6.2470+-0.0454 ? 6.4131+-0.2541 ? might be 1.0266x slower string-cons-tower 6.5632+-0.2500 ? 6.6432+-0.4472 ? might be 1.0122x slower string-equality 16.3187+-0.8874 ? 16.5627+-1.4339 ? might be 1.0150x slower string-get-by-val-big-char 6.9669+-1.3179 6.5519+-0.2688 might be 1.0633x faster string-get-by-val-out-of-bounds-insane 3.0183+-0.0977 ? 3.0423+-0.0775 ? string-get-by-val-out-of-bounds 4.0043+-0.0682 ? 4.2415+-0.4490 ? might be 1.0592x slower string-get-by-val 2.7704+-0.0273 ? 2.8263+-0.1131 ? might be 1.0202x slower string-hash 1.7859+-0.0329 ? 1.8269+-0.1059 ? might be 1.0230x slower string-long-ident-equality 14.7103+-0.3051 ? 15.4852+-1.3370 ? might be 1.0527x slower string-out-of-bounds 10.1689+-0.2418 ? 10.1823+-0.3285 ? string-repeat-arith 26.7397+-0.5402 ? 28.1629+-0.9851 ? might be 1.0532x slower string-sub 52.4234+-1.5852 51.8136+-0.4588 might be 1.0118x faster string-test 2.7551+-0.0440 ? 2.7774+-0.0677 ? string-var-equality 29.1540+-1.0039 ? 29.3730+-0.8973 ? structure-hoist-over-transitions 2.4268+-0.1505 2.4218+-0.2639 substring-concat-weird 35.7671+-0.7403 ? 37.9317+-4.7502 ? might be 1.0605x slower substring-concat 39.5142+-0.5607 39.1267+-0.7982 substring 44.8852+-1.1373 ? 48.7071+-7.0841 ? might be 1.0851x slower switch-char-constant 2.5930+-0.0289 ? 2.5971+-0.0556 ? switch-char 5.9956+-0.7377 5.8699+-1.1085 might be 1.0214x faster switch-constant 7.7576+-1.0428 ? 7.9975+-0.8895 ? might be 1.0309x slower switch-string-basic-big-var 13.9574+-0.4158 13.9044+-0.4535 switch-string-basic-big 13.6468+-0.2031 ? 13.8070+-0.3169 ? might be 1.0117x slower switch-string-basic-var 12.8400+-0.2184 ? 13.0650+-0.3643 ? might be 1.0175x slower switch-string-basic 12.7203+-0.5427 12.4953+-0.2987 might be 1.0180x faster switch-string-big-length-tower-var 17.6189+-0.4625 ? 17.9969+-0.4089 ? might be 1.0215x slower switch-string-length-tower-var 13.4920+-0.9118 13.0518+-0.2765 might be 1.0337x faster switch-string-length-tower 12.1217+-0.7474 12.0416+-0.5625 switch-string-short 11.7675+-0.3676 ? 12.1809+-0.5546 ? might be 1.0351x slower switch 11.6787+-0.6207 11.1982+-0.5296 might be 1.0429x faster tear-off-arguments-simple 3.0134+-0.2680 2.9439+-0.0793 might be 1.0236x faster tear-off-arguments 3.9279+-0.2221 ? 4.0106+-0.1033 ? might be 1.0210x slower temporal-structure 12.2393+-0.5064 11.7839+-0.1506 might be 1.0386x faster to-int32-boolean 13.0091+-0.5810 12.9203+-0.4864 try-catch-get-by-val-cloned-arguments 13.6583+-0.3942 ? 14.0560+-0.5566 ? might be 1.0291x slower try-catch-get-by-val-direct-arguments 6.1541+-0.3272 ? 6.3564+-0.1561 ? might be 1.0329x slower try-catch-get-by-val-scoped-arguments 7.5325+-0.4896 7.4619+-0.5662 typed-array-get-set-by-val-profiling 27.1625+-0.7645 ? 27.2411+-1.0885 ? undefined-property-access 224.1822+-1.5829 223.0044+-1.0630 undefined-test 3.0242+-0.1764 2.8562+-0.0686 might be 1.0588x faster unprofiled-licm 14.1274+-0.6141 13.7770+-0.3394 might be 1.0254x faster varargs-call 12.5791+-0.2870 12.4433+-0.1516 might be 1.0109x faster varargs-construct-inline 22.2394+-1.0877 ? 22.6574+-2.5270 ? might be 1.0188x slower varargs-construct 19.6937+-0.6464 19.0763+-0.9386 might be 1.0324x faster varargs-inline 8.0486+-0.1095 8.0170+-0.1735 varargs-strict-mode 8.7612+-0.3523 ? 8.8880+-0.5059 ? might be 1.0145x slower varargs 8.6319+-0.2419 ? 9.1898+-1.0937 ? might be 1.0646x slower weird-inlining-const-prop 2.4478+-0.1730 ? 2.5799+-0.4097 ? might be 1.0540x slower <geometric> 7.7777+-0.0272 7.7699+-0.0118 might be 1.0010x faster TipOfTree LICMExitOK AsmBench: bigfib.cpp 452.6681+-4.6724 450.1464+-6.6048 cray.c 399.4457+-1.9967 ? 400.7615+-3.9915 ? dry.c 426.5624+-1.3225 425.9247+-7.4582 FloatMM.c 683.0990+-2.6670 ? 684.0347+-3.1727 ? gcc-loops.cpp 3420.1719+-14.3309 3419.7673+-14.4622 n-body.c 824.4468+-3.5530 ? 824.5863+-3.6038 ? Quicksort.c 404.7892+-4.0571 ? 405.8982+-2.9495 ? stepanov_container.cpp 3562.1890+-42.5796 ? 3580.2854+-40.1212 ? Towers.c 232.7564+-2.5568 ? 232.8002+-2.8131 ? <geometric> 716.6302+-1.9917 ? 717.0625+-2.8266 ? might be 1.0006x slower TipOfTree LICMExitOK CompressionBench: huffman 59.0444+-1.4586 58.6606+-0.9136 arithmetic-simple 271.4443+-3.0042 269.1619+-1.4463 arithmetic-precise 240.9840+-1.3747 240.4169+-1.2418 arithmetic-complex-precise 246.0667+-4.5384 242.2635+-2.1866 might be 1.0157x faster arithmetic-precise-order-0 282.0708+-2.9592 281.4317+-3.0668 arithmetic-precise-order-1 304.4036+-3.2295 302.8774+-3.5922 arithmetic-precise-order-2 352.5170+-2.9943 351.8609+-2.5276 arithmetic-simple-order-1 326.2668+-2.1264 324.0742+-1.9934 arithmetic-simple-order-2 383.0863+-5.8955 ? 384.6590+-8.1707 ? lz-string 310.6290+-2.8507 309.3830+-6.2463 <geometric> 253.9619+-1.4053 252.7262+-0.3865 might be 1.0049x faster TipOfTree LICMExitOK Geomean of preferred means: <scaled-result> 50.8679+-0.1490 ? 50.8985+-0.1924 ? might be 1.0006x slower
Filip Pizlo
Comment 5 2015-08-28 15:39:22 PDT
Note You need to log in before you can comment on or make changes to this bug.