RESOLVED FIXED 150270
Fix some generational heap growth pathologies
https://bugs.webkit.org/show_bug.cgi?id=150270
Summary Fix some generational heap growth pathologies
Filip Pizlo
Reported 2015-10-16 23:30:09 PDT
Patch forthcoming.
Attachments
the patch (21.79 KB, patch)
2015-10-16 23:39 PDT, Filip Pizlo
no flags
the patch (22.16 KB, patch)
2015-10-17 00:05 PDT, Filip Pizlo
kling: review+
Filip Pizlo
Comment 1 2015-10-16 23:39:35 PDT
Created attachment 263366 [details] the patch
Filip Pizlo
Comment 2 2015-10-17 00:03:22 PDT
Performance is OK: 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 (r191220) "FixCopiedSpace" at /Volumes/Data/quinary/OpenSource/WebKitBuild/Release/jsc (r191220) 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 FixCopiedSpace SunSpider: 3d-cube 4.7174+-0.1413 4.6865+-0.1546 3d-morph 5.2531+-0.1940 ? 5.4087+-0.3887 ? might be 1.0296x slower 3d-raytrace 5.3884+-0.1016 ? 5.4932+-0.3763 ? might be 1.0195x slower access-binary-trees 2.4862+-0.6497 2.2353+-0.1147 might be 1.1122x faster access-fannkuch 5.8215+-0.3172 ? 5.9247+-0.2906 ? might be 1.0177x slower access-nbody 2.6743+-0.2484 2.5592+-0.0927 might be 1.0450x faster access-nsieve 3.2168+-0.3193 3.1327+-0.2247 might be 1.0268x faster bitops-3bit-bits-in-byte 1.1636+-0.0097 ? 1.4038+-0.3331 ? might be 1.2065x slower bitops-bits-in-byte 3.4208+-0.2756 3.2125+-0.0622 might be 1.0648x faster bitops-bitwise-and 2.0876+-0.1384 2.0045+-0.0436 might be 1.0415x faster bitops-nsieve-bits 2.9708+-0.0511 ? 3.0002+-0.1559 ? controlflow-recursive 2.3785+-0.0861 ? 2.6128+-0.5903 ? might be 1.0985x slower crypto-aes 4.4377+-0.8201 4.2905+-0.6340 might be 1.0343x faster crypto-md5 2.6657+-0.5018 2.5024+-0.0684 might be 1.0653x faster crypto-sha1 2.6423+-0.4188 ? 2.7410+-0.3622 ? might be 1.0373x slower date-format-tofte 6.7001+-0.1924 6.6242+-0.2523 might be 1.0115x faster date-format-xparb 4.6935+-0.1210 4.6543+-0.0589 math-cordic 2.9690+-0.4587 2.8441+-0.1790 might be 1.0439x faster math-partial-sums 4.9302+-0.3516 ? 4.9983+-0.2885 ? might be 1.0138x slower math-spectral-norm 1.9349+-0.0297 ? 2.0684+-0.3046 ? might be 1.0690x slower regexp-dna 6.9442+-0.7975 6.6113+-0.5698 might be 1.0504x faster string-base64 4.3805+-0.3157 ? 4.5671+-0.7278 ? might be 1.0426x slower string-fasta 6.0744+-0.5718 5.9352+-0.3420 might be 1.0235x faster string-tagcloud 9.2666+-2.3816 8.7339+-1.8429 might be 1.0610x faster string-unpack-code 18.2769+-0.9733 ? 18.7372+-0.6021 ? might be 1.0252x slower string-validate-input 4.5714+-0.1111 4.5265+-0.1483 <arithmetic> 4.6949+-0.1277 4.6734+-0.0972 might be 1.0046x faster TipOfTree FixCopiedSpace LongSpider: 3d-cube 805.7094+-7.6404 ? 806.0226+-6.6118 ? 3d-morph 1526.6109+-24.9999 1513.9535+-11.3908 3d-raytrace 614.3464+-8.7051 609.7022+-9.9839 access-binary-trees 818.3505+-15.0017 815.1985+-15.0740 access-fannkuch 296.8544+-9.7199 ? 306.4336+-11.6174 ? might be 1.0323x slower access-nbody 516.6049+-7.2703 ? 522.0880+-4.1742 ? might be 1.0106x slower access-nsieve 387.8221+-15.9180 372.2701+-3.5514 might be 1.0418x faster bitops-3bit-bits-in-byte 35.9387+-3.5344 ? 35.9873+-2.0219 ? bitops-bits-in-byte 75.6221+-1.9154 ? 78.6802+-4.1653 ? might be 1.0404x slower bitops-nsieve-bits 409.4894+-8.5422 ? 415.0891+-8.2474 ? might be 1.0137x slower controlflow-recursive 443.5732+-7.7914 438.3473+-10.8710 might be 1.0119x faster crypto-aes 563.4209+-15.8738 554.1442+-11.8723 might be 1.0167x faster crypto-md5 471.5358+-48.5115 457.9851+-9.2968 might be 1.0296x faster crypto-sha1 669.9952+-14.8409 669.4951+-8.3477 date-format-tofte 514.0834+-6.3499 510.9600+-12.3264 date-format-xparb 668.4271+-12.1127 657.7192+-10.3338 might be 1.0163x faster hash-map 152.5703+-3.4541 152.1023+-5.6511 math-cordic 492.8981+-7.4319 ? 493.1539+-6.1470 ? math-partial-sums 466.0164+-9.0087 ? 466.2832+-7.2434 ? math-spectral-norm 565.3679+-21.0931 556.6860+-7.7103 might be 1.0156x faster string-base64 359.3397+-28.4666 ? 412.5889+-38.7616 ? might be 1.1482x slower string-fasta 365.3073+-11.5785 364.6408+-14.2899 string-tagcloud 180.0179+-6.2005 177.1515+-6.4098 might be 1.0162x faster <geometric> 394.5375+-2.6010 ? 395.6397+-3.6369 ? might be 1.0028x slower TipOfTree FixCopiedSpace V8Spider: crypto 52.1081+-3.1869 51.1088+-2.2722 might be 1.0196x faster deltablue 80.3343+-9.5647 78.6947+-3.1722 might be 1.0208x faster earley-boyer 42.4431+-0.8959 42.0927+-1.4060 raytrace 32.0117+-2.2727 ? 34.9329+-4.0449 ? might be 1.0913x slower regexp 63.2823+-2.5653 62.8281+-4.0752 richards 59.1543+-6.6468 55.4760+-3.5623 might be 1.0663x faster splay 36.2467+-1.0525 ? 37.3592+-1.7708 ? might be 1.0307x slower <geometric> 49.8174+-0.7459 ? 49.8228+-0.5444 ? might be 1.0001x slower TipOfTree FixCopiedSpace Octane: encrypt 0.15956+-0.00500 ? 0.16065+-0.00627 ? decrypt 2.97616+-0.03843 2.93750+-0.05122 might be 1.0132x faster deltablue x2 0.14242+-0.00897 0.13599+-0.00175 might be 1.0473x faster earley 0.29243+-0.00569 0.29013+-0.00321 boyer 4.46454+-0.11166 ? 4.46460+-0.13911 ? navier-stokes x2 4.94032+-0.03473 4.90796+-0.02179 raytrace x2 0.87182+-0.00827 0.87143+-0.01444 richards x2 0.08902+-0.00182 ? 0.09067+-0.00416 ? might be 1.0186x slower splay x2 0.37149+-0.02165 0.36226+-0.00413 might be 1.0255x faster regexp x2 24.73340+-0.56811 24.56235+-0.32210 pdfjs x2 38.39102+-0.47150 38.04420+-0.28729 mandreel x2 43.85313+-1.18776 ? 43.92042+-1.14205 ? gbemu x2 30.17701+-0.33521 ? 33.19136+-3.86788 ? might be 1.0999x slower closure 0.59715+-0.00688 0.58627+-0.00892 might be 1.0186x faster jquery 7.56669+-0.16473 ? 7.61232+-0.14786 ? box2d x2 9.63491+-0.25951 9.47356+-0.20855 might be 1.0170x faster zlib x2 393.31850+-9.03745 384.56517+-21.75852 might be 1.0228x faster typescript x2 682.39307+-6.40273 ? 697.08797+-8.68681 ? might be 1.0215x slower <geometric> 5.44570+-0.02575 5.44054+-0.04587 might be 1.0009x faster TipOfTree FixCopiedSpace Kraken: ai-astar 130.600+-6.622 129.797+-3.126 audio-beat-detection 48.738+-0.942 ? 49.519+-2.796 ? might be 1.0160x slower audio-dft 96.355+-0.889 ? 97.792+-2.067 ? might be 1.0149x slower audio-fft 36.291+-3.453 35.235+-0.464 might be 1.0300x faster audio-oscillator 59.340+-2.849 ? 59.694+-3.160 ? imaging-darkroom 60.363+-1.635 60.291+-0.924 imaging-desaturate 49.022+-1.068 ? 49.720+-3.598 ? might be 1.0142x slower imaging-gaussian-blur 90.088+-7.820 87.661+-1.193 might be 1.0277x faster json-parse-financial 40.625+-3.894 ? 41.270+-4.929 ? might be 1.0159x slower json-stringify-tinderbox 24.805+-1.338 24.689+-1.771 stanford-crypto-aes 41.668+-1.469 ? 43.198+-2.114 ? might be 1.0367x slower stanford-crypto-ccm 38.581+-5.861 37.758+-2.997 might be 1.0218x faster stanford-crypto-pbkdf2 100.647+-5.455 97.234+-1.347 might be 1.0351x faster stanford-crypto-sha256-iterative 38.248+-1.739 ? 39.177+-2.959 ? might be 1.0243x slower <arithmetic> 61.098+-1.105 60.931+-0.758 might be 1.0027x faster TipOfTree FixCopiedSpace JSRegress: abc-forward-loop-equal 31.1641+-3.3838 30.9779+-1.7680 abc-postfix-backward-loop 30.6938+-0.9134 ? 33.2917+-3.9165 ? might be 1.0846x slower abc-simple-backward-loop 30.9615+-2.0562 ? 31.3710+-1.0365 ? might be 1.0132x slower abc-simple-forward-loop 30.8789+-2.0193 ? 30.9728+-1.3730 ? abc-skippy-loop 21.7140+-0.8050 21.1878+-0.3516 might be 1.0248x faster abs-boolean 2.4642+-0.0446 2.4602+-0.0377 adapt-to-double-divide 16.4482+-0.6066 ? 16.9967+-1.1848 ? might be 1.0333x slower aliased-arguments-getbyval 1.3689+-0.2863 1.3272+-0.3150 might be 1.0314x faster allocate-big-object 2.5109+-0.2415 ? 2.5499+-0.0738 ? might be 1.0155x slower arguments-named-and-reflective 11.0627+-0.7563 10.7510+-0.4254 might be 1.0290x faster arguments-out-of-bounds 9.7712+-0.9535 ? 10.0682+-1.7633 ? might be 1.0304x slower arguments-strict-mode 9.7749+-0.3928 9.6803+-0.5106 arguments 8.9056+-0.5179 8.7122+-0.4358 might be 1.0222x faster arity-mismatch-inlining 0.9067+-0.0736 0.8721+-0.0353 might be 1.0398x faster array-access-polymorphic-structure 7.4104+-0.6210 ? 7.8524+-1.0001 ? might be 1.0596x slower array-nonarray-polymorhpic-access 24.5367+-1.1550 ? 26.0302+-1.7918 ? might be 1.0609x slower array-prototype-every 80.4622+-5.0811 80.2375+-4.2488 array-prototype-forEach 78.4247+-5.6322 ? 80.8755+-8.0293 ? might be 1.0313x slower array-prototype-map 82.8882+-3.2604 ? 84.2865+-3.4406 ? might be 1.0169x slower array-prototype-reduce 73.0095+-0.8062 ? 74.2415+-4.9245 ? might be 1.0169x slower array-prototype-reduceRight 77.8220+-9.3485 72.0122+-2.4562 might be 1.0807x faster array-prototype-some 78.0437+-2.1908 ? 78.6899+-2.7050 ? array-splice-contiguous 24.4132+-1.5006 24.1165+-0.5654 might be 1.0123x faster array-with-double-add 3.6955+-0.1834 ? 4.1972+-0.9106 ? might be 1.1358x slower array-with-double-increment 3.2454+-0.1009 3.2043+-0.1280 might be 1.0128x faster array-with-double-mul-add 4.4223+-0.0900 ? 4.4705+-0.0982 ? might be 1.0109x slower array-with-double-sum 3.3061+-0.2158 3.2209+-0.0762 might be 1.0264x faster array-with-int32-add-sub 6.2482+-0.1563 6.1901+-0.1305 array-with-int32-or-double-sum 3.5089+-0.3471 ? 3.5098+-0.4097 ? ArrayBuffer-DataView-alloc-large-long-lived 27.2628+-1.7888 ? 29.6006+-0.7332 ? might be 1.0857x slower ArrayBuffer-DataView-alloc-long-lived 12.4074+-0.5954 ? 12.9848+-1.2773 ? might be 1.0465x slower ArrayBuffer-Int32Array-byteOffset 3.7382+-0.2548 ? 3.8285+-0.5401 ? might be 1.0242x slower ArrayBuffer-Int8Array-alloc-large-long-lived 27.3548+-2.3292 ! 32.0100+-1.5050 ! definitely 1.1702x slower ArrayBuffer-Int8Array-alloc-long-lived-buffer 20.6488+-2.7733 19.4124+-0.1469 might be 1.0637x faster ArrayBuffer-Int8Array-alloc-long-lived 11.5102+-0.7512 11.2008+-0.7394 might be 1.0276x faster ArrayBuffer-Int8Array-alloc 10.0125+-1.0585 ? 10.8179+-2.6574 ? might be 1.0804x slower arrowfunction-call 10.8238+-0.1316 ? 11.4980+-1.7103 ? might be 1.0623x slower asmjs_bool_bug 8.0575+-0.1099 ? 8.1298+-0.2534 ? assign-custom-setter-polymorphic 2.4163+-0.0516 ? 2.4723+-0.0683 ? might be 1.0232x slower assign-custom-setter 3.2132+-0.1014 ? 3.3443+-0.0718 ? might be 1.0408x slower basic-set 7.7167+-0.5402 7.5721+-0.8653 might be 1.0191x faster big-int-mul 3.6086+-0.2924 3.4705+-0.0995 might be 1.0398x faster boolean-test 3.1538+-0.1985 ? 3.2517+-0.3426 ? might be 1.0310x slower branch-fold 3.8526+-0.4484 3.6162+-0.0292 might be 1.0654x faster branch-on-string-as-boolean 17.9867+-1.5243 17.0179+-0.8618 might be 1.0569x faster by-val-generic 2.5059+-0.1534 2.4357+-0.0984 might be 1.0288x faster call-spread-apply 30.2807+-3.1740 29.7961+-3.5955 might be 1.0163x faster call-spread-call 22.4650+-1.0887 22.3966+-1.4917 captured-assignments 0.5009+-0.1260 0.4545+-0.0173 might be 1.1021x faster cast-int-to-double 5.3569+-0.6163 5.3252+-0.5479 cell-argument 5.9928+-0.2982 ? 6.8588+-2.2697 ? might be 1.1445x slower cfg-simplify 2.9152+-0.0837 ? 2.9525+-0.1572 ? might be 1.0128x slower chain-getter-access 8.5757+-0.2329 ? 8.9074+-1.0097 ? might be 1.0387x slower cmpeq-obj-to-obj-other 12.9774+-0.5880 12.4681+-1.6979 might be 1.0408x faster constant-test 4.8534+-0.0560 ? 4.9230+-0.2331 ? might be 1.0143x slower create-lots-of-functions 9.5743+-0.4376 ? 9.8891+-0.8447 ? might be 1.0329x slower cse-new-array-buffer 2.3664+-0.1315 2.3400+-0.1954 might be 1.0113x faster cse-new-array 2.3691+-0.1564 ? 2.4752+-0.2066 ? might be 1.0448x slower custom-setter-getter-as-put-get-by-id 0.5273+-0.0521 0.5238+-0.0335 DataView-custom-properties 33.3038+-4.3339 ? 34.7460+-0.9410 ? might be 1.0433x slower delay-tear-off-arguments-strictmode 12.8674+-0.3213 12.5818+-0.2093 might be 1.0227x faster deltablue-varargs 164.8903+-2.7394 ? 172.6110+-9.6130 ? might be 1.0468x slower destructuring-arguments 165.5807+-12.4295 ? 167.4430+-8.7054 ? might be 1.0112x slower destructuring-parameters-overridden-by-function 0.4729+-0.0230 ? 0.4841+-0.0379 ? might be 1.0237x slower destructuring-swap 4.8846+-0.1650 4.8426+-0.1990 direct-arguments-getbyval 1.2081+-0.0730 1.1923+-0.0502 might be 1.0133x faster div-boolean-double 5.3170+-0.1052 5.3094+-0.1569 div-boolean 8.2005+-0.2362 ? 8.3585+-0.3736 ? might be 1.0193x slower double-get-by-val-out-of-bounds 4.5085+-0.2333 ? 4.8100+-0.9944 ? might be 1.0669x slower double-pollution-getbyval 8.5498+-0.4789 8.5040+-0.3226 double-pollution-putbyoffset 4.1005+-0.6426 3.6105+-0.0785 might be 1.1357x faster double-real-use 25.4091+-0.8136 ? 26.3377+-3.0904 ? might be 1.0365x slower double-to-int32-typed-array-no-inline 2.2882+-0.1136 ? 2.3029+-0.0946 ? double-to-int32-typed-array 2.3308+-0.4174 2.2640+-0.2566 might be 1.0295x faster double-to-uint32-typed-array-no-inline 2.3728+-0.2249 2.2776+-0.0759 might be 1.0418x faster double-to-uint32-typed-array 2.1744+-0.0514 2.1381+-0.1081 might be 1.0170x faster elidable-new-object-dag 34.4685+-0.6854 ? 35.2900+-1.3437 ? might be 1.0238x slower elidable-new-object-roflcopter 32.7061+-2.2102 ? 33.0039+-1.3074 ? elidable-new-object-then-call 33.3606+-1.7373 32.4339+-0.7901 might be 1.0286x faster elidable-new-object-tree 37.8837+-1.2294 37.8118+-0.7977 empty-string-plus-int 4.7868+-0.0715 ? 4.8047+-0.3412 ? emscripten-cube2hash 29.1339+-1.1519 27.6968+-0.4991 might be 1.0519x faster exit-length-on-plain-object 15.9366+-0.7079 ? 16.7823+-3.3940 ? might be 1.0531x slower external-arguments-getbyval 1.2254+-0.1222 ? 1.2709+-0.0528 ? might be 1.0371x slower external-arguments-putbyval 2.3226+-0.4193 ? 2.4247+-0.3544 ? might be 1.0440x slower fixed-typed-array-storage-var-index 1.3617+-0.1817 1.2938+-0.0670 might be 1.0525x faster fixed-typed-array-storage 0.9735+-0.1061 ? 1.0000+-0.0866 ? might be 1.0272x slower Float32Array-matrix-mult 4.5004+-0.6646 ? 4.7171+-0.5611 ? might be 1.0482x slower Float32Array-to-Float64Array-set 51.6944+-3.5117 51.5225+-1.8954 Float64Array-alloc-long-lived 62.6529+-3.8010 62.4897+-3.0304 Float64Array-to-Int16Array-set 60.6450+-4.1339 ? 60.9178+-4.7199 ? fold-double-to-int 13.4349+-1.1272 12.9364+-0.5407 might be 1.0385x faster fold-get-by-id-to-multi-get-by-offset-rare-int 10.0498+-1.1835 ? 10.9462+-0.7232 ? might be 1.0892x slower fold-get-by-id-to-multi-get-by-offset 9.9194+-0.6741 9.4346+-0.2141 might be 1.0514x faster fold-multi-get-by-offset-to-get-by-offset 10.1796+-1.2314 10.0800+-1.0000 fold-multi-get-by-offset-to-poly-get-by-offset 9.4378+-1.0191 9.0635+-0.5323 might be 1.0413x faster fold-multi-put-by-offset-to-poly-put-by-offset 11.8475+-0.9870 9.0859+-2.3046 might be 1.3039x faster fold-multi-put-by-offset-to-put-by-offset 9.9958+-0.5323 ? 11.1168+-2.1763 ? might be 1.1121x slower fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 9.7776+-0.7982 ? 10.4193+-1.2341 ? might be 1.0656x slower fold-put-by-id-to-multi-put-by-offset 11.0192+-2.1340 ? 11.6873+-1.9903 ? might be 1.0606x slower fold-put-by-val-with-string-to-multi-put-by-offset 11.1191+-1.1688 ? 11.1528+-1.5272 ? fold-put-by-val-with-symbol-to-multi-put-by-offset 10.4156+-0.8490 ? 11.6044+-1.7362 ? might be 1.1141x slower fold-put-structure 8.0559+-0.5954 7.9521+-1.3478 might be 1.0130x faster for-of-iterate-array-entries 11.2197+-0.6165 10.8237+-0.2479 might be 1.0366x faster for-of-iterate-array-keys 3.7569+-0.3616 3.6137+-0.2025 might be 1.0396x faster for-of-iterate-array-values 3.3894+-0.0885 ? 3.3934+-0.0863 ? fround 18.1292+-1.4539 17.8774+-0.3611 might be 1.0141x faster ftl-library-inlining-dataview 60.6005+-3.3250 59.5945+-1.0366 might be 1.0169x faster ftl-library-inlining 102.5514+-5.1673 100.2622+-4.2562 might be 1.0228x faster function-call 10.7756+-0.1412 ? 10.7989+-0.1373 ? function-dot-apply 2.1600+-0.1704 2.0380+-0.0557 might be 1.0599x faster function-test 2.8422+-0.1679 2.7474+-0.0760 might be 1.0345x faster function-with-eval 84.1970+-2.2865 ? 84.2501+-3.3290 ? gcse-poly-get-less-obvious 22.5426+-2.3360 21.4302+-0.2769 might be 1.0519x faster gcse-poly-get 24.1287+-2.3189 22.4238+-2.3242 might be 1.0760x faster gcse 3.5938+-0.4829 3.4324+-0.0398 might be 1.0470x faster get-by-id-bimorphic-check-structure-elimination-simple 2.7181+-0.1166 2.6603+-0.0800 might be 1.0218x faster get-by-id-bimorphic-check-structure-elimination 5.0238+-0.4945 4.7321+-0.0650 might be 1.0617x faster get-by-id-chain-from-try-block 2.4784+-0.1132 2.4163+-0.1537 might be 1.0257x faster get-by-id-check-structure-elimination 3.9506+-0.2158 3.9404+-0.0427 get-by-id-proto-or-self 16.9796+-1.8414 ? 18.0381+-2.0957 ? might be 1.0623x slower get-by-id-quadmorphic-check-structure-elimination-simple 2.8586+-0.0332 ? 2.9137+-0.0392 ? might be 1.0193x slower get-by-id-self-or-proto 16.9038+-1.4576 16.5980+-1.7433 might be 1.0184x faster get-by-val-out-of-bounds 4.3463+-0.3729 4.2174+-0.1331 might be 1.0305x faster get-by-val-with-string-bimorphic-check-structure-elimination-simple 2.7180+-0.0562 ? 2.8309+-0.1301 ? might be 1.0416x slower get-by-val-with-string-bimorphic-check-structure-elimination 6.3052+-0.5487 6.1517+-0.1490 might be 1.0250x faster get-by-val-with-string-chain-from-try-block 2.4035+-0.0273 ? 2.5562+-0.1505 ? might be 1.0635x slower get-by-val-with-string-check-structure-elimination 5.7780+-0.3228 5.6174+-0.1685 might be 1.0286x faster get-by-val-with-string-proto-or-self 16.3012+-0.5156 ? 16.8388+-1.1084 ? might be 1.0330x slower get-by-val-with-string-quadmorphic-check-structure-elimination-simple 3.1342+-0.1575 3.1084+-0.0984 get-by-val-with-string-self-or-proto 16.6978+-1.2499 15.7971+-0.4090 might be 1.0570x faster get-by-val-with-symbol-bimorphic-check-structure-elimination-simple 2.9325+-0.0518 ? 2.9466+-0.0775 ? get-by-val-with-symbol-bimorphic-check-structure-elimination 12.4537+-0.2359 12.3475+-0.1732 get-by-val-with-symbol-chain-from-try-block 2.5321+-0.1220 2.4733+-0.1044 might be 1.0237x faster get-by-val-with-symbol-check-structure-elimination 11.5799+-0.3498 ? 12.5893+-3.1120 ? might be 1.0872x slower get-by-val-with-symbol-proto-or-self 17.5138+-1.6705 ? 18.1098+-2.1002 ? might be 1.0340x slower get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple 3.6557+-0.0309 ! 3.7824+-0.0925 ! definitely 1.0347x slower get-by-val-with-symbol-self-or-proto 18.2387+-4.0029 16.7940+-1.0130 might be 1.0860x faster get_callee_monomorphic 2.4284+-0.1695 ? 3.0763+-0.5641 ? might be 1.2668x slower get_callee_polymorphic 3.5172+-0.0820 3.4158+-0.2014 might be 1.0297x faster getter-no-activation 4.9306+-0.2874 4.8782+-0.2925 might be 1.0107x faster getter-prototype 8.3937+-0.9587 8.2848+-1.1422 might be 1.0131x faster getter-richards-try-catch 1048.6664+-28.0096 1013.8158+-29.7771 might be 1.0344x faster getter-richards 128.1370+-17.0216 122.4501+-15.6806 might be 1.0464x faster getter 5.6335+-0.7425 ? 5.6915+-0.6879 ? might be 1.0103x slower global-object-access-with-mutating-structure 5.6742+-0.2388 ? 5.7172+-0.3622 ? global-var-const-infer-fire-from-opt 0.7438+-0.0776 ? 0.7799+-0.0992 ? might be 1.0485x slower global-var-const-infer 0.7218+-0.1364 ? 0.7644+-0.2352 ? might be 1.0590x slower hard-overflow-check-equal 29.0748+-3.1458 28.0609+-1.5640 might be 1.0361x faster hard-overflow-check 26.8239+-0.9391 ? 27.4438+-1.7537 ? might be 1.0231x slower HashMap-put-get-iterate-keys 27.8287+-1.9413 ? 29.1774+-3.7225 ? might be 1.0485x slower HashMap-put-get-iterate 28.9170+-1.4810 28.3873+-2.3841 might be 1.0187x faster HashMap-string-put-get-iterate 24.0299+-1.4740 23.8142+-1.0354 hoist-make-rope 8.4922+-0.4921 8.3471+-0.8363 might be 1.0174x faster hoist-poly-check-structure-effectful-loop 3.7324+-0.2023 3.6368+-0.0433 might be 1.0263x faster hoist-poly-check-structure 3.0813+-0.0513 ? 3.1184+-0.1415 ? might be 1.0120x slower imul-double-only 7.5843+-0.2716 ? 7.8321+-0.1182 ? might be 1.0327x slower imul-int-only 8.7727+-0.6827 ? 9.1214+-1.3079 ? might be 1.0397x slower imul-mixed 7.1309+-0.5430 6.9435+-0.3777 might be 1.0270x faster in-four-cases 18.5672+-0.3432 18.3702+-0.3603 might be 1.0107x faster in-one-case-false 10.2209+-0.3027 ? 11.7047+-3.6783 ? might be 1.1452x slower in-one-case-true 10.6510+-0.4965 10.2890+-0.3458 might be 1.0352x faster in-two-cases 10.7263+-0.4320 ? 10.8219+-0.8758 ? indexed-properties-in-objects 3.0272+-0.2933 2.8699+-0.2517 might be 1.0548x faster infer-closure-const-then-mov-no-inline 3.9108+-0.5068 3.6043+-0.0192 might be 1.0851x faster infer-closure-const-then-mov 17.3678+-2.4447 16.3692+-0.6363 might be 1.0610x faster infer-closure-const-then-put-to-scope-no-inline 11.1572+-0.3073 ? 11.2179+-0.4389 ? infer-closure-const-then-put-to-scope 23.0612+-0.7706 22.8107+-0.4092 might be 1.0110x faster infer-closure-const-then-reenter-no-inline 47.5253+-0.9332 ? 49.1792+-2.4607 ? might be 1.0348x slower infer-closure-const-then-reenter 22.9773+-0.1275 ! 23.8346+-0.6302 ! definitely 1.0373x slower infer-constant-global-property 3.4646+-0.1882 3.4371+-0.0429 infer-constant-property 2.6524+-0.0799 ? 2.7187+-0.2270 ? might be 1.0250x slower infer-one-time-closure-ten-vars 7.8044+-0.1815 ? 8.0904+-0.5103 ? might be 1.0366x slower infer-one-time-closure-two-vars 7.3600+-0.2455 ? 7.6296+-0.3245 ? might be 1.0366x slower infer-one-time-closure 7.3606+-0.2065 ? 7.4163+-0.1754 ? infer-one-time-deep-closure 11.3361+-0.4301 10.8643+-0.2868 might be 1.0434x faster inline-arguments-access 3.7467+-0.2916 ? 5.1013+-1.7195 ? might be 1.3616x slower inline-arguments-aliased-access 3.8338+-0.3661 3.6787+-0.2383 might be 1.0422x faster inline-arguments-local-escape 3.7628+-0.2162 ? 3.8446+-0.3185 ? might be 1.0217x slower inline-get-scoped-var 4.6946+-0.1682 4.6260+-0.1894 might be 1.0148x faster inlined-put-by-id-transition 9.2303+-0.3914 ? 9.5533+-0.6056 ? might be 1.0350x slower inlined-put-by-val-with-string-transition 43.5966+-3.7421 42.3875+-0.4618 might be 1.0285x faster inlined-put-by-val-with-symbol-transition 44.3243+-6.0398 43.7332+-1.8454 might be 1.0135x faster int-or-other-abs-then-get-by-val 4.6696+-0.3510 4.4846+-0.0427 might be 1.0412x faster int-or-other-abs-zero-then-get-by-val 16.0385+-0.8554 ? 16.7196+-0.9069 ? might be 1.0425x slower int-or-other-add-then-get-by-val 4.2383+-0.0552 ? 4.2633+-0.1041 ? int-or-other-add 5.0542+-0.1731 ? 5.4605+-0.9747 ? might be 1.0804x slower int-or-other-div-then-get-by-val 3.8167+-0.0770 ? 4.3211+-1.1043 ? might be 1.1322x slower int-or-other-max-then-get-by-val 3.9577+-0.1366 ? 4.1515+-0.4346 ? might be 1.0490x slower int-or-other-min-then-get-by-val 3.8676+-0.1069 ? 4.1446+-0.3627 ? might be 1.0716x slower int-or-other-mod-then-get-by-val 3.6806+-0.1742 ? 3.6808+-0.0975 ? int-or-other-mul-then-get-by-val 3.6530+-0.1686 ? 3.6669+-0.1072 ? int-or-other-neg-then-get-by-val 4.2793+-0.1259 4.1722+-0.1702 might be 1.0257x faster int-or-other-neg-zero-then-get-by-val 15.9623+-0.5001 ? 16.1167+-0.6903 ? int-or-other-sub-then-get-by-val 4.1899+-0.0342 ^ 4.1150+-0.0339 ^ definitely 1.0182x faster int-or-other-sub 3.8612+-1.0746 3.6907+-0.6088 might be 1.0462x faster int-overflow-local 4.2452+-0.3406 4.1601+-0.0923 might be 1.0205x faster Int16Array-alloc-long-lived 45.3502+-1.6401 ? 46.7292+-4.9774 ? might be 1.0304x slower Int16Array-bubble-sort-with-byteLength 18.2366+-1.0465 ! 22.9866+-0.4364 ! definitely 1.2605x slower Int16Array-bubble-sort 18.0867+-1.1051 ! 21.2810+-0.4866 ! definitely 1.1766x slower Int16Array-load-int-mul 1.5097+-0.0323 1.5090+-0.0519 Int16Array-to-Int32Array-set 47.6233+-2.4797 46.5300+-0.8959 might be 1.0235x faster Int32Array-alloc-large 12.5791+-0.7616 ? 12.8657+-0.7147 ? might be 1.0228x slower Int32Array-alloc-long-lived 50.9106+-1.9551 49.1442+-1.8145 might be 1.0359x faster Int32Array-alloc 3.1104+-0.4508 2.9573+-0.2489 might be 1.0518x faster Int32Array-Int8Array-view-alloc 6.5586+-0.8431 6.0727+-0.2254 might be 1.0800x faster int52-spill 4.5531+-0.1130 ? 4.6915+-0.1920 ? might be 1.0304x slower Int8Array-alloc-long-lived 39.0082+-1.0628 ? 39.8475+-1.7275 ? might be 1.0215x slower Int8Array-load-with-byteLength 3.4452+-0.0592 3.4191+-0.0401 Int8Array-load 3.4467+-0.1361 ? 3.5317+-0.2132 ? might be 1.0246x slower integer-divide 10.6822+-0.6200 10.6017+-0.7344 integer-modulo 1.6902+-0.1632 1.6418+-0.0650 might be 1.0295x faster is-boolean-fold-tricky 4.0055+-0.3872 3.9093+-0.2400 might be 1.0246x faster is-boolean-fold 2.6561+-0.0504 ? 2.6775+-0.0837 ? is-function-fold-tricky-internal-function 9.7225+-0.4443 9.6392+-0.2614 is-function-fold-tricky 4.1112+-0.3128 ? 4.4465+-1.0935 ? might be 1.0816x slower is-function-fold 2.7351+-0.1183 2.6733+-0.0343 might be 1.0231x faster is-number-fold-tricky 3.9971+-0.1738 3.9638+-0.0534 is-number-fold 2.6286+-0.0419 ? 2.7073+-0.1232 ? might be 1.0300x slower is-object-or-null-fold-functions 2.6995+-0.0930 2.6900+-0.0193 is-object-or-null-fold-less-tricky 4.1571+-0.2070 4.0397+-0.0472 might be 1.0291x faster is-object-or-null-fold-tricky 4.8880+-0.2834 ? 5.4128+-0.6588 ? might be 1.1074x slower is-object-or-null-fold 2.7725+-0.0996 2.6940+-0.0602 might be 1.0292x faster is-object-or-null-trickier-function 4.1076+-0.1010 4.0198+-0.0665 might be 1.0218x faster is-object-or-null-trickier-internal-function 9.9220+-0.3365 ? 10.2238+-0.3962 ? might be 1.0304x slower is-object-or-null-tricky-function 4.0455+-0.0846 4.0069+-0.0535 is-object-or-null-tricky-internal-function 7.3991+-0.2752 ? 7.4666+-0.0809 ? is-string-fold-tricky 4.2275+-0.6159 4.1530+-0.3421 might be 1.0179x faster is-string-fold 2.6441+-0.0445 2.6378+-0.0221 is-undefined-fold-tricky 3.6704+-0.2979 ? 3.7847+-1.0370 ? might be 1.0312x slower is-undefined-fold 2.6539+-0.0488 ? 2.7265+-0.1425 ? might be 1.0274x slower JSONP-negative-0 0.2832+-0.0244 0.2752+-0.0185 might be 1.0290x faster large-int-captured 4.1141+-0.1730 ? 4.2308+-0.1833 ? might be 1.0284x slower large-int-neg 14.5450+-0.8823 14.3423+-0.7510 might be 1.0141x faster large-int 13.3562+-0.3653 13.0203+-0.5566 might be 1.0258x faster load-varargs-elimination 21.5830+-2.7888 ? 21.8195+-1.9927 ? might be 1.0110x slower logical-not-weird-types 3.1610+-0.1301 3.1061+-0.1031 might be 1.0177x faster logical-not 4.3964+-0.0291 4.3866+-0.1434 lots-of-fields 9.4120+-0.2883 ? 9.4122+-0.6217 ? make-indexed-storage 2.9298+-0.1870 ? 3.0334+-0.1470 ? might be 1.0353x slower make-rope-cse 3.6802+-0.1081 ? 3.7300+-0.1464 ? might be 1.0135x slower marsaglia-larger-ints 33.2210+-0.9075 33.1724+-1.9438 marsaglia-osr-entry 23.5010+-3.1945 21.8896+-0.4764 might be 1.0736x faster math-with-out-of-bounds-array-values 23.0194+-1.6751 22.2487+-1.2765 might be 1.0346x faster max-boolean 2.7086+-0.0793 ? 2.7802+-0.2727 ? might be 1.0264x slower method-on-number 16.0817+-0.8546 ? 17.2286+-2.4411 ? might be 1.0713x slower min-boolean 2.7028+-0.1230 ? 2.7834+-0.1889 ? might be 1.0298x slower minus-boolean-double 3.0744+-0.0367 ? 3.1432+-0.0908 ? might be 1.0224x slower minus-boolean 2.4376+-0.2103 2.3658+-0.0382 might be 1.0304x faster misc-strict-eq 29.0466+-1.0873 ? 30.4949+-1.9645 ? might be 1.0499x slower mod-boolean-double 11.2804+-0.4355 ? 11.6716+-1.2118 ? might be 1.0347x slower mod-boolean 8.3440+-0.1253 ? 8.3530+-0.1267 ? mul-boolean-double 3.7204+-0.2643 3.7049+-0.1704 mul-boolean 2.8214+-0.0523 ? 2.9040+-0.1780 ? might be 1.0293x slower neg-boolean 3.1344+-0.2022 3.1181+-0.0737 negative-zero-divide 0.3678+-0.0302 0.3599+-0.0189 might be 1.0218x faster negative-zero-modulo 0.3758+-0.0448 ? 0.3823+-0.0667 ? might be 1.0173x slower negative-zero-negate 0.3327+-0.0067 ? 0.3447+-0.0265 ? might be 1.0361x slower nested-function-parsing 47.2879+-3.1897 46.9286+-1.6241 new-array-buffer-dead 90.8338+-6.2374 88.3044+-1.4349 might be 1.0286x faster new-array-buffer-push 6.4858+-0.5603 ? 6.5210+-0.5068 ? new-array-dead 15.3660+-1.5955 15.1783+-1.0851 might be 1.0124x faster new-array-push 3.7296+-0.2838 3.6932+-0.3360 no-inline-constructor 31.2255+-1.1086 ? 32.1096+-2.9982 ? might be 1.0283x slower number-test 3.0324+-0.0427 ? 3.1300+-0.1304 ? might be 1.0322x slower object-closure-call 4.8304+-0.0310 ? 4.8833+-0.1591 ? might be 1.0110x slower object-get-own-property-symbols-on-large-array 4.6917+-1.0653 4.3891+-0.1270 might be 1.0689x faster object-test 2.7924+-0.1871 2.7744+-0.1689 obvious-sink-pathology-taken 98.5116+-1.9396 ? 98.6770+-2.9661 ? obvious-sink-pathology 30.4033+-1.0448 30.2486+-1.1713 obviously-elidable-new-object 30.4155+-1.4412 29.5697+-0.9288 might be 1.0286x faster plus-boolean-arith 2.5470+-0.3828 ? 2.6559+-0.5509 ? might be 1.0428x slower plus-boolean-double 3.1172+-0.0566 ? 3.1595+-0.1393 ? might be 1.0136x slower plus-boolean 2.6262+-0.1012 2.5956+-0.2142 might be 1.0118x faster poly-chain-access-different-prototypes-simple 2.9096+-0.7499 2.5925+-0.0376 might be 1.1223x faster poly-chain-access-different-prototypes 2.5839+-0.0282 ? 2.6790+-0.2426 ? might be 1.0368x slower poly-chain-access-simpler 2.6329+-0.2033 ? 2.6641+-0.1609 ? might be 1.0119x slower poly-chain-access 2.5785+-0.0652 2.5541+-0.0911 poly-stricteq 55.6777+-3.4477 55.2709+-1.1736 polymorphic-array-call 1.2375+-0.0661 ? 1.2862+-0.0810 ? might be 1.0394x slower polymorphic-get-by-id 2.9557+-0.1043 2.8973+-0.0555 might be 1.0202x faster polymorphic-put-by-id 28.6547+-0.7492 28.1863+-1.2392 might be 1.0166x faster polymorphic-put-by-val-with-string 29.3873+-1.8661 ? 30.1665+-2.4354 ? might be 1.0265x slower polymorphic-put-by-val-with-symbol 28.5618+-1.3291 ? 30.3577+-2.9383 ? might be 1.0629x slower polymorphic-structure 13.1352+-0.8458 12.5620+-0.2657 might be 1.0456x faster polyvariant-monomorphic-get-by-id 6.4662+-0.8416 ? 8.4781+-3.0226 ? might be 1.3112x slower proto-getter-access 8.4834+-0.3113 8.2262+-0.1137 might be 1.0313x faster prototype-access-with-mutating-prototype 5.4614+-0.2007 ? 5.5870+-0.3961 ? might be 1.0230x slower put-by-id-replace-and-transition 8.1412+-0.9510 7.6584+-0.1285 might be 1.0630x faster put-by-id-slightly-polymorphic 2.7030+-0.0680 ? 2.8010+-0.1725 ? might be 1.0362x slower put-by-id 9.7091+-0.3950 ? 9.9709+-0.6281 ? might be 1.0270x slower put-by-val-direct 0.3446+-0.0155 ? 0.3694+-0.0252 ? might be 1.0718x slower put-by-val-large-index-blank-indexing-type 5.3026+-0.1731 ? 5.4196+-0.0680 ? might be 1.0221x slower put-by-val-machine-int 2.8142+-0.7335 2.6460+-0.2065 might be 1.0635x faster put-by-val-with-string-replace-and-transition 11.7597+-2.6047 11.2822+-0.9953 might be 1.0423x faster put-by-val-with-string-slightly-polymorphic 3.0305+-0.1210 ? 3.0417+-0.1207 ? put-by-val-with-string 10.3558+-0.2464 ? 10.9613+-0.7472 ? might be 1.0585x slower put-by-val-with-symbol-replace-and-transition 11.8803+-0.5061 ? 12.4097+-1.1627 ? might be 1.0446x slower put-by-val-with-symbol-slightly-polymorphic 3.2760+-0.0549 3.2487+-0.1779 put-by-val-with-symbol 10.8193+-0.6517 ? 11.1075+-0.7756 ? might be 1.0266x slower rare-osr-exit-on-local 14.5360+-1.2420 14.0629+-0.4874 might be 1.0336x faster raytrace-with-empty-try-catch 5.4923+-0.4648 5.4292+-0.4107 might be 1.0116x faster raytrace-with-try-catch 10.6770+-1.7018 9.9727+-0.2972 might be 1.0706x faster register-pressure-from-osr 16.7854+-0.4993 16.2448+-0.2864 might be 1.0333x faster repeat-multi-get-by-offset 22.6305+-0.7849 ? 22.6980+-0.2880 ? richards-empty-try-catch 71.6922+-1.0434 ? 75.7991+-6.0449 ? might be 1.0573x slower richards-try-catch 241.1811+-4.2577 ? 243.5395+-10.0137 ? setter-prototype 8.3781+-1.2024 7.9510+-0.2652 might be 1.0537x faster setter 6.3433+-0.9309 5.4824+-0.3858 might be 1.1570x faster simple-activation-demo 24.8235+-1.0501 24.0968+-0.7077 might be 1.0302x faster simple-getter-access 10.9160+-0.6412 10.8687+-0.1730 simple-poly-call-nested 8.8516+-0.4480 ? 9.0648+-0.6486 ? might be 1.0241x slower simple-poly-call 1.4803+-0.3082 1.2985+-0.0702 might be 1.1400x faster sin-boolean 20.5022+-2.5595 19.5835+-1.8078 might be 1.0469x faster singleton-scope 65.4546+-7.3064 ? 67.3123+-4.3451 ? might be 1.0284x slower sink-function 10.4403+-1.1016 9.7930+-0.7607 might be 1.0661x faster sink-huge-activation 16.1595+-0.7799 15.7345+-0.8732 might be 1.0270x faster sinkable-new-object-dag 53.0458+-2.8627 ? 55.6769+-3.8141 ? might be 1.0496x slower sinkable-new-object-taken 42.0523+-2.1385 41.5013+-1.8950 might be 1.0133x faster sinkable-new-object 30.0297+-0.5715 ? 30.1630+-0.8600 ? slow-array-profile-convergence 2.6390+-0.0881 2.5564+-0.1163 might be 1.0323x faster slow-convergence 2.4880+-0.2342 ? 2.5614+-0.2062 ? might be 1.0295x slower slow-ternaries 18.9313+-4.8091 18.2568+-1.4570 might be 1.0369x faster sorting-benchmark 17.3010+-0.4804 ? 17.8918+-0.8431 ? might be 1.0341x slower sparse-conditional 1.1800+-0.0261 ? 1.2651+-0.1547 ? might be 1.0722x slower splice-to-remove 12.2555+-0.2623 ? 12.3840+-0.7041 ? might be 1.0105x slower string-char-code-at 15.3091+-2.5906 13.0959+-0.1779 might be 1.1690x faster string-concat-object 2.4122+-0.5254 2.2030+-0.1300 might be 1.0950x faster string-concat-pair-object 2.1379+-0.0618 2.0822+-0.0879 might be 1.0268x faster string-concat-pair-simple 9.8256+-0.7599 ? 10.2390+-1.3859 ? might be 1.0421x slower string-concat-simple 9.7703+-1.2012 ? 9.9089+-0.9068 ? might be 1.0142x slower string-cons-repeat 6.7559+-0.4447 ? 7.1316+-0.8253 ? might be 1.0556x slower string-cons-tower 6.6171+-0.3817 ? 6.7585+-0.3833 ? might be 1.0214x slower string-equality 18.5240+-0.5541 ? 18.5402+-0.6772 ? string-get-by-val-big-char 6.5913+-0.4142 ? 6.7442+-0.4124 ? might be 1.0232x slower string-get-by-val-out-of-bounds-insane 3.1063+-0.0794 ! 3.4075+-0.1704 ! definitely 1.0970x slower string-get-by-val-out-of-bounds 3.9663+-0.0968 ? 4.0396+-0.2108 ? might be 1.0185x slower string-get-by-val 2.9362+-0.2468 2.8223+-0.0428 might be 1.0404x faster string-hash 1.9108+-0.1512 ? 2.0015+-0.1935 ? might be 1.0474x slower string-long-ident-equality 15.3656+-0.7069 ? 15.5182+-1.3480 ? string-out-of-bounds 10.3516+-0.5649 ? 10.6556+-0.5740 ? might be 1.0294x slower string-repeat-arith 27.1805+-0.8199 ? 28.3769+-4.6810 ? might be 1.0440x slower string-sub 57.2643+-3.5215 54.3238+-2.1378 might be 1.0541x faster string-test 2.9241+-0.0377 2.9076+-0.0414 string-var-equality 29.1103+-4.3248 27.9296+-1.6396 might be 1.0423x faster structure-hoist-over-transitions 2.3761+-0.0775 ? 2.4362+-0.2285 ? might be 1.0253x slower substring-concat-weird 35.3274+-0.9610 ? 37.2633+-2.2833 ? might be 1.0548x slower substring-concat 40.9032+-1.2125 ? 41.3151+-3.4707 ? might be 1.0101x slower substring 47.6965+-2.4566 46.9777+-1.8161 might be 1.0153x faster switch-char-constant 2.6969+-0.0682 ? 2.7048+-0.0361 ? switch-char 6.4683+-1.3642 6.4341+-1.4367 switch-constant 8.3125+-0.8263 ? 8.6270+-0.7252 ? might be 1.0378x slower switch-string-basic-big-var 14.9732+-0.2184 ? 15.0809+-0.5273 ? switch-string-basic-big 15.5853+-0.5437 15.5821+-0.3280 switch-string-basic-var 14.5590+-1.1603 13.8795+-0.6760 might be 1.0490x faster switch-string-basic 13.0754+-0.3367 ? 13.5687+-0.3293 ? might be 1.0377x slower switch-string-big-length-tower-var 18.5850+-0.8896 18.3687+-1.1342 might be 1.0118x faster switch-string-length-tower-var 13.8989+-0.8687 ? 15.9358+-6.3721 ? might be 1.1466x slower switch-string-length-tower 12.8767+-1.4143 ? 14.4268+-3.8597 ? might be 1.1204x slower switch-string-short 13.6551+-1.6640 12.2795+-0.5669 might be 1.1120x faster switch 10.4449+-0.2514 ? 11.9089+-2.1197 ? might be 1.1402x slower tear-off-arguments-simple 3.3790+-0.4458 3.3739+-0.4827 tear-off-arguments 4.0663+-0.1074 4.0545+-0.1537 temporal-structure 11.9174+-0.3435 11.7729+-0.3383 might be 1.0123x faster to-int32-boolean 13.6026+-1.6414 12.7845+-0.3351 might be 1.0640x faster try-catch-get-by-val-cloned-arguments 9.4069+-0.5299 ? 9.7902+-0.8841 ? might be 1.0407x slower try-catch-get-by-val-direct-arguments 2.2515+-0.1295 2.1430+-0.3807 might be 1.0506x faster try-catch-get-by-val-scoped-arguments 4.4825+-0.2384 ? 5.0721+-1.0978 ? might be 1.1315x slower typed-array-get-set-by-val-profiling 27.9195+-0.4904 ? 28.6694+-1.2855 ? might be 1.0269x slower undefined-property-access 223.7152+-7.5880 219.2866+-5.5572 might be 1.0202x faster undefined-test 3.0654+-0.1101 ? 3.4283+-0.7443 ? might be 1.1184x slower unprofiled-licm 9.6305+-0.6064 9.3575+-0.1916 might be 1.0292x faster v8-raytrace-with-empty-try-catch 25.2331+-1.1381 24.6231+-1.5966 might be 1.0248x faster v8-raytrace-with-try-catch 61.6745+-1.3695 ? 62.7915+-2.6779 ? might be 1.0181x slower varargs-call 13.3997+-0.3756 ? 14.6288+-2.0211 ? might be 1.0917x slower varargs-construct-inline 22.8887+-1.8688 22.6438+-1.2554 might be 1.0108x faster varargs-construct 20.9871+-0.8224 ? 22.9686+-6.5820 ? might be 1.0944x slower varargs-inline 8.8368+-0.2415 ? 9.2953+-0.9086 ? might be 1.0519x slower varargs-strict-mode 10.8712+-1.1241 10.4580+-0.9322 might be 1.0395x faster varargs 10.2159+-0.5462 10.0581+-0.1973 might be 1.0157x faster weird-inlining-const-prop 2.3569+-0.2413 2.2557+-0.1660 might be 1.0449x faster <geometric> 8.2048+-0.0352 ? 8.2434+-0.0572 ? might be 1.0047x slower TipOfTree FixCopiedSpace AsmBench: bigfib.cpp 455.1402+-8.6550 ? 459.8617+-15.2251 ? might be 1.0104x slower cray.c 396.9618+-7.2343 ? 404.3281+-12.3137 ? might be 1.0186x slower dry.c 432.2891+-13.0264 423.9412+-9.6189 might be 1.0197x faster FloatMM.c 703.2460+-11.3608 701.4260+-7.8377 gcc-loops.cpp 3517.8320+-24.1046 3505.3517+-30.6426 n-body.c 845.9297+-11.2608 843.3041+-8.8868 Quicksort.c 417.0189+-8.6145 ? 418.2319+-12.8214 ? stepanov_container.cpp 3613.0169+-50.2972 ? 3787.6472+-439.0971 ? might be 1.0483x slower Towers.c 241.4386+-10.6602 238.7921+-9.9287 might be 1.0111x faster <geometric> 730.6750+-4.6671 ? 733.5150+-11.9762 ? might be 1.0039x slower TipOfTree FixCopiedSpace CompressionBench: huffman 61.8119+-0.8302 61.5134+-1.9500 arithmetic-simple 284.7485+-9.7880 275.9785+-3.1879 might be 1.0318x faster arithmetic-precise 263.6670+-10.7136 252.2924+-4.6120 might be 1.0451x faster arithmetic-complex-precise 255.2839+-4.1047 ? 259.1010+-6.9896 ? might be 1.0150x slower arithmetic-precise-order-0 293.2223+-7.4550 ? 294.0639+-5.5488 ? arithmetic-precise-order-1 318.6818+-13.4544 312.2461+-7.2358 might be 1.0206x faster arithmetic-precise-order-2 375.6613+-10.9248 370.0618+-21.7606 might be 1.0151x faster arithmetic-simple-order-1 332.5595+-2.9513 ? 336.1376+-13.8921 ? might be 1.0108x slower arithmetic-simple-order-2 375.5081+-12.7832 ? 385.2797+-8.4504 ? might be 1.0260x slower lz-string 333.2141+-20.7542 317.3293+-8.2851 might be 1.0501x faster <geometric> 265.2351+-1.3158 262.3610+-3.4897 might be 1.0110x faster TipOfTree FixCopiedSpace Geomean of preferred means: <scaled-result> 51.4099+-0.1422 51.3610+-0.2696 might be 1.0010x faster
Filip Pizlo
Comment 3 2015-10-17 00:05:49 PDT
Created attachment 263368 [details] the patch
Andreas Kling
Comment 4 2015-10-17 09:04:23 PDT
Comment on attachment 263368 [details] the patch r=me
Filip Pizlo
Comment 5 2015-10-17 10:27:27 PDT
Filip Pizlo
Comment 7 2015-10-17 11:36:11 PDT
(In reply to comment #6) > This change appears to have broken some Mac and iOS builds: > https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20%2832- > bit%20Build%29/builds/465 > > https://build.webkit.org/builders/Apple%20iOS%209%20Release%20%28Build%29/ > builds/398 Oops, forgot to include "JSCInlines.h" from CopiedBlock.cpp
Filip Pizlo
Comment 8 2015-10-17 11:36:51 PDT
I'm afk for ~10mins, I can land that fix after. Or relate the patch of you want to roll out. Or you could try the fix I suggested. ;-)
Filip Pizlo
Comment 9 2015-10-17 13:27:29 PDT
(In reply to comment #8) > I'm afk for ~10mins, I can land that fix after. Or relate the patch of you > want to roll out. Or you could try the fix I suggested. ;-) Yup, that was a rookie mistake. Relanding with fix shortly...
Filip Pizlo
Comment 10 2015-10-17 13:28:45 PDT
Note You need to log in before you can comment on or make changes to this bug.