Summary: | REGRESSION (r191360): Crash: com.apple.WebKit.WebContent at com.apple.JavaScriptCore: JSC::FTL:: + 386 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Michael Saboff <msaboff> | ||||||
Component: | JavaScriptCore | Assignee: | Michael Saboff <msaboff> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | mark.lam | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Attachments: |
|
Description
Michael Saboff
2015-10-26 16:28:14 PDT
Created attachment 264101 [details]
Regression tests
Created attachment 264131 [details]
Patch
Performance of this change appears to be neutral. Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on il0204a-dhcp117 (MacPro6,1). VMs tested: "Baseline" at /Volumes/Data/src/webkit.work/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc "PreBoxFTLInt32s" at /Volumes/Data/src/webkit/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc Collected 4 samples per benchmark/VM, with 4 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. Baseline PreBoxFTLInt32s SunSpider: 3d-cube 6.2148+-0.0941 ? 6.4542+-0.6916 ? might be 1.0385x slower 3d-morph 6.2194+-0.2025 ? 6.2983+-0.1965 ? might be 1.0127x slower 3d-raytrace 7.5460+-0.4713 7.2920+-0.1982 might be 1.0348x faster access-binary-trees 2.6520+-0.1544 ? 2.6805+-0.2035 ? might be 1.0107x slower access-fannkuch 7.0262+-0.1568 ? 7.0462+-0.0652 ? access-nbody 3.4292+-0.1013 ? 3.4310+-0.0966 ? access-nsieve 4.0837+-0.3533 ? 4.1035+-0.3023 ? bitops-3bit-bits-in-byte 1.5819+-0.1380 1.5580+-0.0274 might be 1.0153x faster bitops-bits-in-byte 3.9532+-0.1821 3.9171+-0.1505 bitops-bitwise-and 2.4691+-0.0647 ? 2.4825+-0.0926 ? bitops-nsieve-bits 3.6655+-0.1019 ? 3.6865+-0.0959 ? controlflow-recursive 2.9904+-0.2705 ? 3.0251+-0.2075 ? might be 1.0116x slower crypto-aes 5.2943+-0.2214 ? 5.2960+-0.3508 ? crypto-md5 3.2125+-0.2495 3.1935+-0.1111 crypto-sha1 3.1133+-0.0476 3.0832+-0.0787 date-format-tofte 10.8305+-0.2239 ? 11.1432+-0.1444 ? might be 1.0289x slower date-format-xparb 5.9739+-0.2004 5.8312+-0.1284 might be 1.0245x faster math-cordic 3.4450+-0.0642 ? 3.5473+-0.2258 ? might be 1.0297x slower math-partial-sums 6.2438+-0.2467 ? 6.2527+-0.3319 ? math-spectral-norm 2.4422+-0.0583 ? 2.4695+-0.0408 ? might be 1.0112x slower regexp-dna 7.7332+-0.2028 7.6055+-0.2047 might be 1.0168x faster string-base64 5.0298+-0.1066 5.0240+-0.0927 string-fasta 7.1281+-0.1330 ? 7.2178+-0.2013 ? might be 1.0126x slower string-tagcloud 9.9969+-0.3588 ? 10.1135+-0.3114 ? might be 1.0117x slower string-unpack-code 22.0511+-0.7096 21.6501+-0.4602 might be 1.0185x faster string-validate-input 5.2700+-0.2565 ? 5.3326+-0.2425 ? might be 1.0119x slower <arithmetic> 5.7537+-0.0141 ? 5.7590+-0.0220 ? might be 1.0009x slower Baseline PreBoxFTLInt32s LongSpider: 3d-cube 940.8076+-9.3197 ? 941.7538+-15.6120 ? 3d-morph 1642.9649+-6.4640 1638.6827+-9.0761 3d-raytrace 750.8982+-41.5322 741.8561+-20.5264 might be 1.0122x faster access-binary-trees 989.3818+-1.4279 ? 990.8593+-18.4805 ? access-fannkuch 388.0399+-5.6839 ? 398.8783+-19.7279 ? might be 1.0279x slower access-nbody 634.0228+-7.0741 632.7670+-8.0906 access-nsieve 464.4068+-7.6641 ? 465.5072+-11.2121 ? bitops-3bit-bits-in-byte 42.3121+-3.7445 41.0021+-1.1835 might be 1.0319x faster bitops-bits-in-byte 104.5722+-3.3744 104.0079+-2.0924 bitops-nsieve-bits 466.4559+-6.0701 ? 469.1678+-9.3120 ? controlflow-recursive 515.3782+-14.8874 515.3503+-8.9452 crypto-aes 679.1721+-8.6376 ? 679.4222+-5.0475 ? crypto-md5 566.2807+-14.2728 557.2337+-9.7076 might be 1.0162x faster crypto-sha1 785.1097+-5.7252 ? 790.1375+-14.8231 ? date-format-tofte 789.2453+-18.4256 ? 797.1563+-4.3182 ? might be 1.0100x slower date-format-xparb 862.9313+-62.4764 831.3368+-31.6346 might be 1.0380x faster hash-map 176.9453+-9.3165 ? 180.2108+-0.9111 ? might be 1.0185x slower math-cordic 580.3956+-5.2929 ? 588.7238+-33.1083 ? might be 1.0143x slower math-partial-sums 583.4321+-3.0188 ? 586.3610+-9.0322 ? math-spectral-norm 615.8082+-7.1590 608.6412+-4.0501 might be 1.0118x faster string-base64 434.9128+-41.9847 431.3885+-25.1955 string-fasta 434.6727+-7.1975 428.6823+-5.4882 might be 1.0140x faster string-tagcloud 215.8903+-3.7499 213.4545+-5.5084 might be 1.0114x faster <geometric> 478.3271+-3.3201 477.1368+-2.1651 might be 1.0025x faster Baseline PreBoxFTLInt32s V8Spider: crypto 61.2333+-1.8838 ? 61.3387+-0.3341 ? deltablue 78.5079+-2.1420 78.2502+-1.8278 earley-boyer 51.6871+-1.3964 51.5868+-0.1978 raytrace 36.5842+-1.1362 36.4056+-1.3315 regexp 79.6995+-3.9549 79.6559+-2.3859 richards 62.7415+-1.9112 61.7437+-0.2156 might be 1.0162x faster splay 41.6173+-1.3481 ? 41.6315+-1.1110 ? <geometric> 56.7242+-0.3732 56.5305+-0.5924 might be 1.0034x faster Baseline PreBoxFTLInt32s Octane: encrypt 0.19417+-0.00133 0.19382+-0.00177 decrypt 3.50973+-0.02808 3.49465+-0.01185 deltablue x2 0.16629+-0.00355 0.16440+-0.00127 might be 1.0115x faster earley 0.37969+-0.00543 0.37641+-0.00362 boyer 5.52998+-0.14947 5.48328+-0.05151 navier-stokes x2 5.44641+-0.06382 ? 5.45624+-0.06615 ? raytrace x2 1.06398+-0.01498 1.06183+-0.00806 richards x2 0.11166+-0.00179 0.11101+-0.00126 splay x2 0.40268+-0.01106 0.39693+-0.00659 might be 1.0145x faster regexp x2 28.90770+-0.20078 ? 29.19998+-0.27030 ? might be 1.0101x slower pdfjs x2 46.52398+-1.03556 46.19272+-0.56269 mandreel x2 52.18198+-1.97730 51.53042+-0.25149 might be 1.0126x faster gbemu x2 45.94178+-8.59085 41.37851+-0.91533 might be 1.1103x faster closure 0.80846+-0.04243 0.78717+-0.01119 might be 1.0271x faster jquery 10.17709+-0.20703 10.02342+-0.14564 might be 1.0153x faster box2d x2 12.79706+-0.26189 12.79078+-0.16641 zlib x2 447.75618+-4.95026 ? 449.33575+-4.36875 ? typescript x2 939.76923+-4.33916 ? 944.00244+-14.79845 ? <geometric> 6.71866+-0.07145 6.64490+-0.01211 might be 1.0111x faster Baseline PreBoxFTLInt32s Kraken: ai-astar 178.541+-3.560 ? 179.230+-3.414 ? audio-beat-detection 62.661+-2.810 61.231+-0.724 might be 1.0234x faster audio-dft 114.784+-2.930 ? 115.948+-3.747 ? might be 1.0101x slower audio-fft 43.562+-1.755 43.001+-0.401 might be 1.0131x faster audio-oscillator 70.994+-0.173 ? 71.903+-1.682 ? might be 1.0128x slower imaging-darkroom 75.412+-3.414 73.748+-0.449 might be 1.0226x faster imaging-desaturate 67.449+-1.678 67.156+-0.798 imaging-gaussian-blur 118.239+-6.792 ? 120.146+-5.035 ? might be 1.0161x slower json-parse-financial 48.441+-0.476 48.097+-0.543 json-stringify-tinderbox 29.162+-0.173 28.671+-0.752 might be 1.0171x faster stanford-crypto-aes 51.905+-1.595 51.721+-1.065 stanford-crypto-ccm 49.328+-3.284 47.184+-1.935 might be 1.0454x faster stanford-crypto-pbkdf2 114.776+-1.539 ? 114.810+-1.238 ? stanford-crypto-sha256-iterative 45.946+-3.011 44.845+-0.497 might be 1.0246x faster <arithmetic> 76.514+-0.817 76.264+-0.580 might be 1.0033x faster Baseline PreBoxFTLInt32s JSRegress: abc-forward-loop-equal 50.2402+-0.8637 ? 51.2253+-2.2987 ? might be 1.0196x slower abc-postfix-backward-loop 50.0290+-0.9427 49.8762+-1.0011 abc-simple-backward-loop 49.0145+-0.1418 ? 49.1535+-0.3861 ? abc-simple-forward-loop 49.3391+-0.3587 ? 50.0663+-1.1820 ? might be 1.0147x slower abc-skippy-loop 34.0459+-0.2423 ? 34.1214+-0.5045 ? abs-boolean 3.0757+-0.1757 3.0278+-0.0673 might be 1.0158x faster adapt-to-double-divide 18.2942+-0.3519 18.1439+-0.4199 aliased-arguments-getbyval 1.4340+-0.0551 1.4261+-0.0672 allocate-big-object 2.8903+-0.2354 2.8224+-0.1672 might be 1.0240x faster arguments-named-and-reflective 12.3668+-0.2049 ? 12.3676+-0.3130 ? arguments-out-of-bounds 13.5527+-0.3998 ? 13.7493+-0.5126 ? might be 1.0145x slower arguments-strict-mode 11.5693+-0.4371 11.3232+-0.1629 might be 1.0217x faster arguments 10.1685+-0.2634 ? 10.5994+-0.5528 ? might be 1.0424x slower arity-mismatch-inlining 1.1640+-0.0253 ? 1.1663+-0.0227 ? array-access-polymorphic-structure 8.1155+-0.1667 8.0523+-0.1909 array-nonarray-polymorhpic-access 33.1349+-1.1479 32.7985+-0.9557 might be 1.0103x faster array-prototype-every 92.9955+-2.3253 ? 96.8941+-3.4423 ? might be 1.0419x slower array-prototype-forEach 92.1290+-3.1814 ? 96.3050+-4.6991 ? might be 1.0453x slower array-prototype-map 99.8149+-1.3397 ! 105.4871+-3.5730 ! definitely 1.0568x slower array-prototype-reduce 89.1817+-1.5166 ? 92.6774+-3.3820 ? might be 1.0392x slower array-prototype-reduceRight 89.3845+-2.3758 ? 94.1175+-5.9113 ? might be 1.0530x slower array-prototype-some 94.5863+-3.6326 ? 97.8452+-5.3238 ? might be 1.0345x slower array-splice-contiguous 28.4787+-0.2915 ! 31.2281+-1.0513 ! definitely 1.0965x slower array-with-double-add 4.8608+-0.2526 4.7637+-0.1113 might be 1.0204x faster array-with-double-increment 3.7536+-0.0815 ? 3.8190+-0.2003 ? might be 1.0174x slower array-with-double-mul-add 5.6903+-0.2431 ? 5.8330+-0.3638 ? might be 1.0251x slower array-with-double-sum 3.6302+-0.0694 ? 3.6993+-0.1207 ? might be 1.0190x slower array-with-int32-add-sub 7.8112+-0.1500 ? 7.9252+-0.2484 ? might be 1.0146x slower array-with-int32-or-double-sum 3.7527+-0.0793 ? 3.9330+-0.1243 ? might be 1.0480x slower ArrayBuffer-DataView-alloc-large-long-lived 32.9283+-0.6602 32.7499+-0.6099 ArrayBuffer-DataView-alloc-long-lived 14.0375+-0.1353 14.0127+-0.4305 ArrayBuffer-Int32Array-byteOffset 4.1135+-0.0490 ? 4.1640+-0.0990 ? might be 1.0123x slower ArrayBuffer-Int8Array-alloc-large-long-lived 33.3830+-1.5201 32.7255+-0.1730 might be 1.0201x faster ArrayBuffer-Int8Array-alloc-long-lived-buffer 23.4248+-1.2986 22.2359+-0.3148 might be 1.0535x faster ArrayBuffer-Int8Array-alloc-long-lived 13.0200+-0.6324 12.7263+-0.1114 might be 1.0231x faster ArrayBuffer-Int8Array-alloc 11.0998+-0.5355 10.8727+-0.2699 might be 1.0209x faster arrowfunction-call 13.1606+-1.0116 12.9675+-0.4517 might be 1.0149x faster asmjs_bool_bug 9.0383+-0.3022 9.0145+-0.1643 assign-custom-setter-polymorphic 3.5944+-0.1532 3.5699+-0.3727 assign-custom-setter 5.0507+-0.1564 ? 5.1003+-0.1862 ? basic-set 9.6675+-0.6046 9.5262+-0.2082 might be 1.0148x faster big-int-mul 4.3267+-0.1034 ? 4.4084+-0.1603 ? might be 1.0189x slower boolean-test 3.5900+-0.1398 ? 3.6580+-0.0961 ? might be 1.0189x slower branch-fold 4.2740+-0.1490 ? 4.3713+-0.0265 ? might be 1.0227x slower branch-on-string-as-boolean 21.1257+-0.6079 ? 21.4606+-0.8541 ? might be 1.0158x slower by-val-generic 2.8679+-0.1738 ? 2.9502+-0.2865 ? might be 1.0287x slower call-spread-apply 33.8553+-1.7908 ? 34.3633+-2.0224 ? might be 1.0150x slower call-spread-call 26.3990+-0.6678 ? 27.0535+-0.2670 ? might be 1.0248x slower captured-assignments 0.7422+-0.0311 0.7340+-0.0176 might be 1.0111x faster cast-int-to-double 5.8753+-0.1008 ? 5.9292+-0.1600 ? cell-argument 7.3555+-0.3048 ? 7.4595+-0.2388 ? might be 1.0141x slower cfg-simplify 3.1850+-0.1725 ? 3.2753+-0.2365 ? might be 1.0283x slower chain-getter-access 10.0110+-0.1717 ? 10.1250+-0.4655 ? might be 1.0114x slower cmpeq-obj-to-obj-other 12.1422+-0.0139 ? 12.1870+-0.0606 ? constant-test 5.5707+-0.2877 5.5367+-0.0505 create-lots-of-functions 11.8147+-0.4595 ? 11.8954+-0.4826 ? cse-new-array-buffer 2.8336+-0.2145 ^ 2.5278+-0.0643 ^ definitely 1.1210x faster cse-new-array 2.7709+-0.1711 2.7319+-0.1003 might be 1.0143x faster custom-setter-getter-as-put-get-by-id 0.8033+-0.0655 0.7943+-0.0603 might be 1.0114x faster DataView-custom-properties 38.5257+-1.8624 37.8109+-0.1272 might be 1.0189x faster delay-tear-off-arguments-strictmode 15.9185+-0.6283 15.1660+-0.3243 might be 1.0496x faster deltablue-varargs 235.5263+-2.9226 233.7599+-2.6184 destructuring-arguments 193.9862+-8.1080 192.8431+-2.8130 destructuring-parameters-overridden-by-function 0.7320+-0.0168 ? 0.7465+-0.0220 ? might be 1.0198x slower destructuring-swap 5.7058+-0.1077 ? 5.8315+-0.0995 ? might be 1.0220x slower direct-arguments-getbyval 1.4765+-0.2057 1.3923+-0.0509 might be 1.0605x faster div-boolean-double 5.8753+-0.3601 5.8051+-0.3449 might be 1.0121x faster div-boolean 8.3849+-0.0824 ? 8.4809+-0.1776 ? might be 1.0115x slower double-get-by-val-out-of-bounds 5.2696+-0.3860 5.1882+-0.0900 might be 1.0157x faster double-pollution-getbyval 9.3343+-0.1118 ? 9.5455+-0.3879 ? might be 1.0226x slower double-pollution-putbyoffset 4.4062+-0.1122 4.3776+-0.1757 double-real-use 31.8518+-0.4297 31.6773+-0.4052 double-to-int32-typed-array-no-inline 2.8122+-0.0699 ? 2.8889+-0.0722 ? might be 1.0273x slower double-to-int32-typed-array 2.6300+-0.0901 2.6022+-0.1117 might be 1.0107x faster double-to-uint32-typed-array-no-inline 2.9015+-0.1411 ? 2.9442+-0.0340 ? might be 1.0147x slower double-to-uint32-typed-array 2.5670+-0.0872 ? 2.6187+-0.2149 ? might be 1.0201x slower elidable-new-object-dag 42.5505+-1.8844 41.7448+-1.1325 might be 1.0193x faster elidable-new-object-roflcopter 39.4021+-0.4579 39.0421+-0.7278 elidable-new-object-then-call 39.4576+-0.8095 ? 39.5528+-0.7058 ? elidable-new-object-tree 46.2700+-1.4768 ? 46.4642+-1.4857 ? empty-string-plus-int 5.6387+-0.3059 5.5743+-0.1505 might be 1.0116x faster emscripten-cube2hash 43.2682+-1.4408 ? 43.9110+-2.9521 ? might be 1.0149x slower exit-length-on-plain-object 17.4927+-0.3907 ? 17.6975+-0.4490 ? might be 1.0117x slower external-arguments-getbyval 1.4532+-0.0482 ? 1.5660+-0.1182 ? might be 1.0776x slower external-arguments-putbyval 2.7966+-0.1295 2.6990+-0.0823 might be 1.0361x faster fixed-typed-array-storage-var-index 1.6100+-0.0201 ? 1.6353+-0.0625 ? might be 1.0157x slower fixed-typed-array-storage 1.2960+-0.1041 1.2575+-0.0395 might be 1.0306x faster Float32Array-matrix-mult 5.5995+-0.1521 5.5424+-0.2076 might be 1.0103x faster Float32Array-to-Float64Array-set 54.7717+-0.4830 ! 56.0953+-0.2854 ! definitely 1.0242x slower Float64Array-alloc-long-lived 73.7968+-1.3100 73.2043+-0.8782 Float64Array-to-Int16Array-set 68.4170+-0.4497 ? 69.8467+-1.8223 ? might be 1.0209x slower fold-double-to-int 15.3378+-0.3960 15.3355+-0.4390 fold-get-by-id-to-multi-get-by-offset-rare-int 11.1866+-0.0262 11.0127+-0.4283 might be 1.0158x faster fold-get-by-id-to-multi-get-by-offset 9.5811+-0.0430 9.4402+-0.3395 might be 1.0149x faster fold-multi-get-by-offset-to-get-by-offset 8.1375+-0.1611 7.9078+-0.6992 might be 1.0291x faster fold-multi-get-by-offset-to-poly-get-by-offset 8.9280+-0.0945 8.8614+-0.0543 fold-multi-put-by-offset-to-poly-put-by-offset 10.8060+-0.1099 10.7455+-0.0289 fold-multi-put-by-offset-to-put-by-offset 10.1050+-0.6640 10.0685+-0.6117 fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 14.1130+-1.2301 ? 14.4450+-0.4752 ? might be 1.0235x slower fold-put-by-id-to-multi-put-by-offset 12.4522+-0.0763 12.2606+-0.8641 might be 1.0156x faster fold-put-by-val-with-string-to-multi-put-by-offset 12.1863+-0.5645 ? 12.3240+-0.1295 ? might be 1.0113x slower fold-put-by-val-with-symbol-to-multi-put-by-offset 12.0270+-0.6501 ? 12.3141+-0.2170 ? might be 1.0239x slower fold-put-structure 7.9542+-0.0866 ? 8.0029+-0.0969 ? for-of-iterate-array-entries 13.7131+-0.6233 13.3734+-0.6796 might be 1.0254x faster for-of-iterate-array-keys 4.4119+-0.4171 ? 4.4144+-0.3741 ? for-of-iterate-array-values 4.2260+-0.2088 ? 4.3026+-0.2262 ? might be 1.0181x slower fround 19.9249+-1.0131 19.8055+-0.6136 ftl-library-inlining-dataview 72.0958+-0.8138 ? 72.2955+-0.2112 ? ftl-library-inlining 111.8687+-38.0840 89.3734+-43.0011 might be 1.2517x faster function-call 12.7239+-0.1945 ? 12.9217+-0.3563 ? might be 1.0155x slower function-dot-apply 2.6595+-0.1251 ? 2.7103+-0.0639 ? might be 1.0191x slower function-test 3.3077+-0.0906 3.2528+-0.0652 might be 1.0169x faster function-with-eval 104.2967+-0.4562 ^ 102.6255+-0.4592 ^ definitely 1.0163x faster gcse-poly-get-less-obvious 30.4907+-1.7769 30.2523+-1.0987 gcse-poly-get 31.5977+-0.8864 31.2815+-0.2276 might be 1.0101x faster gcse 4.4071+-0.0633 ? 4.6017+-0.1870 ? might be 1.0442x slower get-by-id-bimorphic-check-structure-elimination-simple 3.1148+-0.0561 ? 3.1216+-0.0747 ? get-by-id-bimorphic-check-structure-elimination 5.7587+-0.0777 ? 5.8821+-0.1700 ? might be 1.0214x slower get-by-id-chain-from-try-block 2.8441+-0.1988 ? 2.8459+-0.0255 ? get-by-id-check-structure-elimination 5.0631+-0.1515 ? 5.1715+-0.3299 ? might be 1.0214x slower get-by-id-proto-or-self 22.8621+-3.9167 20.5775+-1.0268 might be 1.1110x faster get-by-id-quadmorphic-check-structure-elimination-simple 3.3589+-0.1872 ? 3.3831+-0.1299 ? get-by-id-self-or-proto 20.7328+-0.8347 ? 22.1713+-3.4168 ? might be 1.0694x slower get-by-val-out-of-bounds 5.0667+-0.1474 ? 5.3183+-0.6601 ? might be 1.0497x slower get-by-val-with-string-bimorphic-check-structure-elimination-simple 3.0930+-0.1694 ? 3.1014+-0.1010 ? get-by-val-with-string-bimorphic-check-structure-elimination 7.4211+-0.4167 ? 7.4658+-0.1396 ? get-by-val-with-string-chain-from-try-block 2.8822+-0.2129 ? 2.8831+-0.0634 ? get-by-val-with-string-check-structure-elimination 6.7841+-0.3983 6.7111+-0.3411 might be 1.0109x faster get-by-val-with-string-proto-or-self 22.1000+-2.9579 21.6891+-3.4442 might be 1.0189x faster get-by-val-with-string-quadmorphic-check-structure-elimination-simple 3.8937+-0.1226 ? 4.0037+-0.2433 ? might be 1.0282x slower get-by-val-with-string-self-or-proto 22.1884+-2.7707 22.0144+-2.9978 get-by-val-with-symbol-bimorphic-check-structure-elimination-simple 3.6040+-0.1027 ? 3.6992+-0.2387 ? might be 1.0264x slower get-by-val-with-symbol-bimorphic-check-structure-elimination 14.7366+-0.4069 14.6885+-0.2168 get-by-val-with-symbol-chain-from-try-block 2.8958+-0.0709 2.8881+-0.0373 get-by-val-with-symbol-check-structure-elimination 14.2870+-0.3906 14.2448+-0.4945 get-by-val-with-symbol-proto-or-self 21.1770+-1.0315 ? 23.3832+-2.3525 ? might be 1.1042x slower get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple 4.6983+-0.0516 ? 4.9548+-0.3190 ? might be 1.0546x slower get-by-val-with-symbol-self-or-proto 21.2109+-1.0232 ? 21.3196+-0.8902 ? get_callee_monomorphic 2.7458+-0.1168 2.7220+-0.1386 get_callee_polymorphic 3.7836+-0.2095 ? 3.8608+-0.3745 ? might be 1.0204x slower getter-no-activation 5.6148+-0.1067 ? 5.6546+-0.1606 ? getter-prototype 11.6102+-0.2402 11.5797+-0.1331 getter-richards-try-catch 1492.4305+-63.6832 1388.6580+-130.6973 might be 1.0747x faster getter-richards 112.4068+-2.9175 109.1484+-2.1595 might be 1.0299x faster getter 6.2388+-0.1736 6.2175+-0.1203 global-object-access-with-mutating-structure 6.5626+-0.2784 6.5137+-0.1629 global-var-const-infer-fire-from-opt 1.1548+-0.2878 1.1113+-0.1325 might be 1.0392x faster global-var-const-infer 0.9591+-0.1228 0.9315+-0.0123 might be 1.0297x faster hard-overflow-check-equal 40.4531+-0.4460 ? 40.6210+-0.2262 ? hard-overflow-check 40.2062+-0.4110 ? 40.2823+-0.2450 ? HashMap-put-get-iterate-keys 28.8459+-0.7162 28.4449+-0.0820 might be 1.0141x faster HashMap-put-get-iterate 28.7350+-0.2549 28.4606+-0.1157 HashMap-string-put-get-iterate 29.2991+-0.9830 ? 29.6520+-0.6172 ? might be 1.0120x slower hoist-make-rope 10.1652+-0.6946 ? 11.7138+-1.8090 ? might be 1.1523x slower hoist-poly-check-structure-effectful-loop 4.7593+-0.2188 ? 4.8185+-0.2658 ? might be 1.0124x slower hoist-poly-check-structure 3.6204+-0.1556 ? 3.7679+-0.1652 ? might be 1.0407x slower imul-double-only 8.1799+-0.1397 ! 9.4127+-0.4137 ! definitely 1.1507x slower imul-int-only 10.5165+-1.2411 10.4022+-1.6411 might be 1.0110x faster imul-mixed 8.4347+-0.3459 8.1921+-0.3286 might be 1.0296x faster in-four-cases 25.0240+-0.5225 24.8395+-0.7270 in-one-case-false 12.8845+-0.5956 12.7692+-0.2972 in-one-case-true 12.8051+-0.3767 12.7380+-0.1215 in-two-cases 13.7653+-0.5741 ? 13.8355+-0.1776 ? indexed-properties-in-objects 3.3071+-0.0932 ? 3.3307+-0.1800 ? infer-closure-const-then-mov-no-inline 4.7350+-0.0925 4.5586+-0.1395 might be 1.0387x faster infer-closure-const-then-mov 20.4091+-1.5432 19.9109+-0.4657 might be 1.0250x faster infer-closure-const-then-put-to-scope-no-inline 14.1873+-0.3441 ? 14.4688+-0.5226 ? might be 1.0198x slower infer-closure-const-then-put-to-scope 24.6650+-0.7013 24.2765+-0.6265 might be 1.0160x faster infer-closure-const-then-reenter-no-inline 60.2003+-0.4539 ? 60.3334+-0.3646 ? infer-closure-const-then-reenter 26.0532+-2.5791 24.4816+-0.5228 might be 1.0642x faster infer-constant-global-property 3.9818+-0.1480 3.9371+-0.0415 might be 1.0114x faster infer-constant-property 3.0687+-0.0973 ? 3.0942+-0.0714 ? infer-one-time-closure-ten-vars 11.0835+-0.4486 ? 11.0854+-0.7082 ? infer-one-time-closure-two-vars 10.4922+-0.6170 10.3463+-0.2965 might be 1.0141x faster infer-one-time-closure 10.4102+-0.4643 ? 10.6044+-0.4599 ? might be 1.0187x slower infer-one-time-deep-closure 16.8215+-0.2285 ? 16.8416+-0.2977 ? inline-arguments-access 4.4325+-0.5564 ? 4.4473+-0.3446 ? inline-arguments-aliased-access 4.4100+-0.0897 ? 4.4563+-0.4408 ? might be 1.0105x slower inline-arguments-local-escape 4.4298+-0.3038 4.4032+-0.1792 inline-get-scoped-var 5.5379+-0.1243 5.4890+-0.0348 inlined-put-by-id-transition 11.4648+-0.3906 11.4646+-0.2633 inlined-put-by-val-with-string-transition 49.1262+-2.7353 ? 50.7470+-5.4858 ? might be 1.0330x slower inlined-put-by-val-with-symbol-transition 50.6707+-2.6831 49.2184+-0.4502 might be 1.0295x faster int-or-other-abs-then-get-by-val 5.1793+-0.1270 ? 5.2238+-0.1528 ? int-or-other-abs-zero-then-get-by-val 19.2045+-0.7974 18.5026+-0.3286 might be 1.0379x faster int-or-other-add-then-get-by-val 5.1575+-0.1426 ? 5.2024+-0.3174 ? int-or-other-add 6.0780+-0.0895 ? 6.1443+-0.2343 ? might be 1.0109x slower int-or-other-div-then-get-by-val 4.4346+-0.1814 4.4050+-0.2190 int-or-other-max-then-get-by-val 4.7741+-0.3419 4.5251+-0.1306 might be 1.0550x faster int-or-other-min-then-get-by-val 4.6782+-0.2813 4.6226+-0.2196 might be 1.0120x faster int-or-other-mod-then-get-by-val 4.1898+-0.0987 ? 4.2469+-0.1849 ? might be 1.0136x slower int-or-other-mul-then-get-by-val 4.4319+-0.3139 4.3133+-0.1558 might be 1.0275x faster int-or-other-neg-then-get-by-val 5.0638+-0.1773 5.0222+-0.1633 int-or-other-neg-zero-then-get-by-val 18.5973+-0.6469 ? 18.9543+-0.9555 ? might be 1.0192x slower int-or-other-sub-then-get-by-val 5.0491+-0.0922 ? 5.1953+-0.1592 ? might be 1.0289x slower int-or-other-sub 4.0317+-0.1839 3.9113+-0.1908 might be 1.0308x faster int-overflow-local 5.0493+-0.1965 4.7747+-0.1108 might be 1.0575x faster Int16Array-alloc-long-lived 52.7034+-3.2947 52.0211+-1.0396 might be 1.0131x faster Int16Array-bubble-sort-with-byteLength 27.4093+-0.6623 27.1501+-0.2671 Int16Array-bubble-sort 26.5689+-1.4383 26.3853+-0.6434 Int16Array-load-int-mul 1.8842+-0.0352 ? 1.8873+-0.0478 ? Int16Array-to-Int32Array-set 53.9433+-0.4515 53.8158+-0.3233 Int32Array-alloc-large 20.0925+-0.3248 ? 20.6235+-0.5879 ? might be 1.0264x slower Int32Array-alloc-long-lived 59.7285+-1.8276 ? 60.1990+-2.3616 ? Int32Array-alloc 2.8534+-0.0684 ? 2.9568+-0.2244 ? might be 1.0362x slower Int32Array-Int8Array-view-alloc 6.8640+-0.1937 ? 7.0538+-0.9285 ? might be 1.0277x slower int52-spill 5.9591+-0.1632 ? 6.0662+-0.1582 ? might be 1.0180x slower Int8Array-alloc-long-lived 46.3003+-1.0946 ? 46.3301+-1.0633 ? Int8Array-load-with-byteLength 3.7762+-0.0846 3.7489+-0.1688 Int8Array-load 3.6879+-0.0896 ? 3.7458+-0.1706 ? might be 1.0157x slower integer-divide 12.6933+-0.1580 ? 12.7547+-0.1433 ? integer-modulo 2.3807+-0.1626 2.3628+-0.1084 is-boolean-fold-tricky 4.5492+-0.0526 ? 4.6696+-0.0836 ? might be 1.0265x slower is-boolean-fold 3.2079+-0.1583 3.1992+-0.1426 is-function-fold-tricky-internal-function 12.5661+-0.1392 ? 12.8002+-0.1976 ? might be 1.0186x slower is-function-fold-tricky 4.7344+-0.1212 4.6865+-0.0495 might be 1.0102x faster is-function-fold 3.1829+-0.0792 ? 3.2115+-0.0859 ? is-number-fold-tricky 4.5773+-0.0133 ? 4.6882+-0.1039 ? might be 1.0242x slower is-number-fold 3.2134+-0.0756 ? 3.2400+-0.2120 ? is-object-or-null-fold-functions 3.3505+-0.1347 3.2658+-0.0585 might be 1.0259x faster is-object-or-null-fold-less-tricky 4.6730+-0.1588 ? 4.7639+-0.2258 ? might be 1.0195x slower is-object-or-null-fold-tricky 6.3883+-0.2999 6.2335+-0.2670 might be 1.0248x faster is-object-or-null-fold 3.2648+-0.1515 3.2502+-0.1236 is-object-or-null-trickier-function 4.8439+-0.2635 4.7454+-0.0263 might be 1.0208x faster is-object-or-null-trickier-internal-function 13.1642+-0.4029 12.8797+-0.2126 might be 1.0221x faster is-object-or-null-tricky-function 4.6967+-0.1421 ? 5.0350+-0.4794 ? might be 1.0720x slower is-object-or-null-tricky-internal-function 9.6620+-0.3449 ? 9.8876+-0.7384 ? might be 1.0233x slower is-string-fold-tricky 4.6302+-0.2447 ? 4.6837+-0.3033 ? might be 1.0116x slower is-string-fold 3.1813+-0.0905 ? 3.2426+-0.0465 ? might be 1.0193x slower is-undefined-fold-tricky 3.7986+-0.1138 ? 3.8738+-0.2156 ? might be 1.0198x slower is-undefined-fold 3.2808+-0.1812 3.2285+-0.1209 might be 1.0162x faster JSONP-negative-0 0.4405+-0.0230 0.4244+-0.0406 might be 1.0380x faster large-int-captured 5.0964+-0.2397 4.9323+-0.2329 might be 1.0333x faster large-int-neg 16.9927+-0.6344 16.9355+-0.5346 large-int 15.5838+-0.7306 15.2975+-0.3334 might be 1.0187x faster load-varargs-elimination 23.5587+-0.4865 23.3043+-0.2653 might be 1.0109x faster logical-not-weird-types 3.8330+-0.1488 ? 3.8742+-0.0799 ? might be 1.0107x slower logical-not 5.3451+-0.0927 ? 5.3463+-0.1332 ? lots-of-fields 13.0883+-0.2633 ? 13.1874+-0.5055 ? make-indexed-storage 3.5278+-0.2034 3.4938+-0.0587 make-rope-cse 3.9099+-0.7103 3.6907+-0.0354 might be 1.0594x faster marsaglia-larger-ints 38.7649+-1.1869 ? 39.1071+-0.3766 ? marsaglia-osr-entry 24.0203+-0.2383 ? 24.2844+-0.5386 ? might be 1.0110x slower math-with-out-of-bounds-array-values 26.6597+-0.3850 26.4150+-0.6426 max-boolean 2.8916+-0.1933 2.8300+-0.1013 might be 1.0218x faster method-on-number 18.6580+-0.5346 ? 18.6899+-0.2605 ? min-boolean 2.8997+-0.2322 ? 2.9431+-0.1007 ? might be 1.0150x slower minus-boolean-double 3.5287+-0.1615 3.4946+-0.0268 minus-boolean 2.6669+-0.0978 ? 2.7137+-0.0768 ? might be 1.0176x slower misc-strict-eq 37.0209+-0.5542 35.3157+-2.3252 might be 1.0483x faster mod-boolean-double 11.7397+-0.0798 ? 11.7721+-0.0639 ? mod-boolean 8.6251+-0.6401 ? 8.7234+-0.2969 ? might be 1.0114x slower mul-boolean-double 4.0570+-0.0438 ? 4.0739+-0.0838 ? mul-boolean 3.1987+-0.1315 ? 3.3028+-0.1628 ? might be 1.0325x slower neg-boolean 3.5547+-0.1462 ? 3.5576+-0.1367 ? negative-zero-divide 0.5497+-0.0407 ? 0.5622+-0.0650 ? might be 1.0226x slower negative-zero-modulo 0.5535+-0.0186 0.5363+-0.0413 might be 1.0321x faster negative-zero-negate 0.5130+-0.0377 ? 0.5319+-0.0145 ? might be 1.0368x slower nested-function-parsing 56.1462+-0.5453 54.6978+-1.6095 might be 1.0265x faster new-array-buffer-dead 107.3340+-4.7908 106.7014+-1.3165 new-array-buffer-push 7.0853+-0.1946 6.9219+-0.3415 might be 1.0236x faster new-array-dead 20.5978+-1.1844 20.1973+-0.3262 might be 1.0198x faster new-array-push 4.5823+-0.4709 4.3508+-0.2156 might be 1.0532x faster no-inline-constructor 39.4783+-0.7540 39.3928+-0.2733 number-test 3.5025+-0.1077 ? 3.5150+-0.0360 ? object-closure-call 5.8848+-0.0887 ? 5.9781+-0.1666 ? might be 1.0159x slower object-get-own-property-symbols-on-large-array 4.1328+-0.2146 ? 4.2758+-0.5134 ? might be 1.0346x slower object-test 3.3395+-0.0949 3.2985+-0.2113 might be 1.0124x faster obvious-sink-pathology-taken 124.3406+-1.1656 ? 124.8685+-0.7631 ? obvious-sink-pathology 39.5066+-1.8218 39.2351+-0.7408 obviously-elidable-new-object 34.9128+-0.1617 ? 35.0820+-1.4214 ? plus-boolean-arith 2.8984+-0.0576 2.8815+-0.0623 plus-boolean-double 3.5715+-0.0922 ? 3.5920+-0.2142 ? plus-boolean 2.7520+-0.2113 ? 2.8059+-0.0459 ? might be 1.0196x slower poly-chain-access-different-prototypes-simple 3.0738+-0.1305 2.9422+-0.0634 might be 1.0447x faster poly-chain-access-different-prototypes 3.0805+-0.2200 3.0341+-0.1290 might be 1.0153x faster poly-chain-access-simpler 3.0057+-0.0899 3.0043+-0.1015 poly-chain-access 3.0029+-0.0293 ? 3.0080+-0.1190 ? poly-stricteq 67.2440+-0.3779 ? 68.2585+-1.8717 ? might be 1.0151x slower polymorphic-array-call 1.7903+-0.0454 1.7347+-0.0672 might be 1.0321x faster polymorphic-get-by-id 3.7312+-0.1940 ? 3.7385+-0.0457 ? polymorphic-put-by-id 38.0775+-3.1677 ? 38.7137+-1.8792 ? might be 1.0167x slower polymorphic-put-by-val-with-string 38.3044+-0.4020 ? 39.4665+-1.7384 ? might be 1.0303x slower polymorphic-put-by-val-with-symbol 38.3768+-0.3937 ? 38.4390+-0.9607 ? polymorphic-structure 14.5941+-0.3818 14.4924+-0.4327 polyvariant-monomorphic-get-by-id 9.5074+-0.2758 ? 9.5380+-0.1459 ? proto-getter-access 10.2090+-0.1742 10.0710+-0.2704 might be 1.0137x faster prototype-access-with-mutating-prototype 6.2444+-0.1008 ? 6.3437+-0.2320 ? might be 1.0159x slower put-by-id-replace-and-transition 10.1030+-0.2780 9.8726+-0.2677 might be 1.0233x faster put-by-id-slightly-polymorphic 3.2415+-0.1368 ? 3.2758+-0.1511 ? might be 1.0106x slower put-by-id 12.7661+-0.5510 ? 13.4003+-0.8809 ? might be 1.0497x slower put-by-val-direct 0.5764+-0.0843 0.5485+-0.0108 might be 1.0507x faster put-by-val-large-index-blank-indexing-type 5.9781+-0.3003 5.7040+-0.2708 might be 1.0480x faster put-by-val-machine-int 2.9818+-0.1316 2.9401+-0.1498 might be 1.0142x faster put-by-val-with-string-replace-and-transition 14.0581+-0.2509 ? 14.1982+-0.4743 ? put-by-val-with-string-slightly-polymorphic 4.2012+-0.0654 ? 4.2300+-0.1730 ? put-by-val-with-string 13.6622+-0.1826 ^ 13.3584+-0.0680 ^ definitely 1.0227x faster put-by-val-with-symbol-replace-and-transition 15.2406+-0.3004 ? 15.4769+-0.6701 ? might be 1.0155x slower put-by-val-with-symbol-slightly-polymorphic 4.5287+-0.1543 ? 4.5557+-0.1311 ? put-by-val-with-symbol 13.7173+-0.9856 ? 13.7681+-0.5182 ? rare-osr-exit-on-local 16.5695+-0.0469 ? 16.8046+-0.5397 ? might be 1.0142x slower raytrace-with-empty-try-catch 7.3265+-0.2108 ? 7.3329+-0.3824 ? raytrace-with-try-catch 13.3988+-0.1282 13.3040+-0.1774 register-pressure-from-osr 21.4966+-0.1417 ? 21.6274+-0.3420 ? repeat-multi-get-by-offset 25.4998+-1.2946 24.8258+-0.2551 might be 1.0271x faster richards-empty-try-catch 87.2165+-1.1857 86.5027+-0.6251 richards-try-catch 288.4272+-2.1054 287.7070+-4.8468 setter-prototype 9.5872+-0.3322 ? 9.9073+-0.3259 ? might be 1.0334x slower setter 6.7269+-0.0967 ^ 6.2283+-0.1903 ^ definitely 1.0800x faster simple-activation-demo 27.4353+-0.6794 ? 27.6929+-0.3736 ? simple-getter-access 12.9252+-0.8743 ? 13.0347+-0.3554 ? simple-poly-call-nested 9.8696+-0.0505 9.8308+-0.0620 simple-poly-call 1.6948+-0.0508 ? 1.7034+-0.0424 ? sin-boolean 19.9932+-0.6747 ? 21.3046+-2.7268 ? might be 1.0656x slower singleton-scope 70.9972+-2.1388 ? 72.1393+-0.1514 ? might be 1.0161x slower sink-function 11.9212+-0.4052 ? 12.1370+-0.7289 ? might be 1.0181x slower sink-huge-activation 17.9680+-1.8915 17.7960+-1.2932 sinkable-new-object-dag 68.4223+-0.6498 ^ 65.9800+-0.8237 ^ definitely 1.0370x faster sinkable-new-object-taken 53.3991+-1.3316 53.1652+-0.9468 sinkable-new-object 38.9658+-0.3179 ? 39.4858+-1.1539 ? might be 1.0133x slower slow-array-profile-convergence 3.2964+-0.0292 ? 3.4093+-0.1412 ? might be 1.0343x slower slow-convergence 3.1405+-0.0846 ? 3.3137+-0.2090 ? might be 1.0552x slower slow-ternaries 19.2983+-0.5736 19.1786+-0.2447 sorting-benchmark 21.4072+-0.7068 ? 21.5103+-0.2647 ? sparse-conditional 1.5270+-0.0322 ? 1.5304+-0.0274 ? splice-to-remove 16.0169+-0.3979 ? 17.5068+-1.4294 ? might be 1.0930x slower string-char-code-at 17.7368+-0.2529 ? 18.0103+-0.6591 ? might be 1.0154x slower string-concat-object 2.2623+-0.1513 2.2411+-0.0545 string-concat-pair-object 2.2573+-0.1759 ? 2.3110+-0.2012 ? might be 1.0238x slower string-concat-pair-simple 11.8776+-0.2647 ? 11.8843+-0.5448 ? string-concat-simple 12.7270+-0.6083 12.3411+-0.5285 might be 1.0313x faster string-cons-repeat 8.1901+-0.4831 7.8770+-0.1957 might be 1.0398x faster string-cons-tower 8.0848+-0.4890 7.9174+-0.3185 might be 1.0211x faster string-equality 21.7540+-1.4492 21.1542+-0.3362 might be 1.0284x faster string-get-by-val-big-char 7.5136+-0.3010 7.4562+-0.0872 string-get-by-val-out-of-bounds-insane 3.8138+-0.0482 ! 3.9836+-0.1212 ! definitely 1.0445x slower string-get-by-val-out-of-bounds 5.5170+-0.1309 ? 5.6025+-0.2796 ? might be 1.0155x slower string-get-by-val 3.7853+-0.1346 3.6633+-0.2099 might be 1.0333x faster string-hash 2.4575+-0.0656 ? 2.4910+-0.0713 ? might be 1.0136x slower string-long-ident-equality 17.4394+-0.5833 ? 17.4798+-0.2713 ? string-out-of-bounds 14.2417+-0.5771 ? 14.4189+-0.8388 ? might be 1.0124x slower string-repeat-arith 34.1017+-0.9173 ? 34.4257+-0.4999 ? string-sub 45.0196+-0.2276 ! 47.6935+-0.8967 ! definitely 1.0594x slower string-test 3.3940+-0.1272 3.3309+-0.0773 might be 1.0189x faster string-var-equality 38.1022+-0.7942 ? 38.3745+-1.6514 ? structure-hoist-over-transitions 2.7568+-0.2159 2.7117+-0.0648 might be 1.0166x faster substring-concat-weird 42.4368+-0.4042 ? 43.2223+-2.3519 ? might be 1.0185x slower substring-concat 47.4225+-2.4154 46.5153+-0.7487 might be 1.0195x faster substring 51.5552+-1.3636 ? 52.1261+-1.2292 ? might be 1.0111x slower switch-char-constant 3.2000+-0.1390 3.1425+-0.0817 might be 1.0183x faster switch-char 7.0909+-0.0581 ? 7.1237+-0.0898 ? switch-constant 9.0905+-0.5595 8.8365+-0.3216 might be 1.0287x faster switch-string-basic-big-var 21.8327+-0.9186 21.5945+-0.5007 might be 1.0110x faster switch-string-basic-big 20.0500+-1.3863 20.0057+-1.2437 switch-string-basic-var 17.2020+-0.3908 ? 17.3467+-0.8893 ? switch-string-basic 16.0932+-0.1286 ? 16.1459+-0.4362 ? switch-string-big-length-tower-var 22.0247+-0.5290 21.7153+-0.2820 might be 1.0142x faster switch-string-length-tower-var 16.9913+-0.0817 ? 17.0858+-0.3335 ? switch-string-length-tower 14.7601+-0.5246 14.2712+-0.3215 might be 1.0343x faster switch-string-short 14.5628+-0.5942 14.3789+-0.3714 might be 1.0128x faster switch 12.4240+-0.2025 ? 12.4554+-0.1156 ? tear-off-arguments-simple 3.5258+-0.1252 3.4968+-0.1013 tear-off-arguments 4.6718+-0.0757 ? 4.7432+-0.1596 ? might be 1.0153x slower temporal-structure 14.5571+-0.7941 13.8337+-0.1354 might be 1.0523x faster to-int32-boolean 14.6557+-0.5095 ? 14.8253+-0.3650 ? might be 1.0116x slower try-catch-get-by-val-cloned-arguments 10.9973+-0.2978 ? 11.2655+-0.3190 ? might be 1.0244x slower try-catch-get-by-val-direct-arguments 2.3627+-0.0680 ? 2.3988+-0.1280 ? might be 1.0153x slower try-catch-get-by-val-scoped-arguments 4.7209+-0.1380 ? 4.9345+-0.6595 ? might be 1.0452x slower typed-array-get-set-by-val-profiling 32.7750+-1.2308 32.3395+-0.9393 might be 1.0135x faster undefined-property-access 376.1519+-2.5618 375.4832+-2.6256 undefined-test 3.5625+-0.1091 ? 3.5634+-0.1320 ? unprofiled-licm 13.9675+-0.1911 13.8305+-0.2800 v8-raytrace-with-empty-try-catch 38.9875+-0.9726 ? 39.6663+-0.7579 ? might be 1.0174x slower v8-raytrace-with-try-catch 85.6195+-2.1823 ? 85.9213+-3.6828 ? varargs-call 15.8158+-0.6032 15.7855+-0.3133 varargs-construct-inline 28.4830+-1.3030 28.3255+-1.6233 varargs-construct 23.1974+-0.2809 23.0873+-0.1818 varargs-inline 11.1090+-0.8851 10.6231+-0.2119 might be 1.0457x faster varargs-strict-mode 11.8751+-0.1662 ? 11.9362+-0.2158 ? varargs 11.9181+-0.6026 11.7031+-0.1970 might be 1.0184x faster weird-inlining-const-prop 2.6556+-0.0852 ? 2.6638+-0.0674 ? <geometric> 9.8580+-0.0105 ? 9.8649+-0.0191 ? might be 1.0007x slower Baseline PreBoxFTLInt32s AsmBench: bigfib.cpp 553.4460+-6.1980 ? 565.6827+-44.5545 ? might be 1.0221x slower cray.c 459.1454+-5.4047 ? 465.3065+-7.0360 ? might be 1.0134x slower dry.c 516.5363+-16.3745 ? 525.2347+-4.7565 ? might be 1.0168x slower FloatMM.c 781.2607+-20.5970 779.3821+-10.8368 gcc-loops.cpp 4368.5750+-41.7060 4362.1725+-37.0815 n-body.c 1056.9893+-7.9860 ? 1057.2897+-5.4107 ? Quicksort.c 450.1691+-6.5093 ? 453.3549+-6.4937 ? stepanov_container.cpp 3974.8275+-31.1488 3958.0193+-54.6758 Towers.c 271.4822+-3.0965 270.3738+-1.5871 <geometric> 849.3123+-0.1450 ? 853.7124+-8.9838 ? might be 1.0052x slower Baseline PreBoxFTLInt32s CompressionBench: huffman 68.0642+-0.6238 ? 68.2988+-0.6783 ? arithmetic-simple 368.2755+-3.9323 367.7142+-6.5299 arithmetic-precise 302.4823+-6.1740 301.0412+-6.2679 arithmetic-complex-precise 310.5186+-25.4735 300.7183+-5.3145 might be 1.0326x faster arithmetic-precise-order-0 379.4862+-2.8589 ? 381.4241+-3.8845 ? arithmetic-precise-order-1 350.0787+-5.7335 348.9977+-6.7402 arithmetic-precise-order-2 414.2921+-2.9026 412.5286+-5.5312 arithmetic-simple-order-1 418.2430+-3.2648 ? 421.1620+-4.1892 ? arithmetic-simple-order-2 481.2140+-9.3168 478.6895+-7.3607 lz-string 327.8388+-13.4518 318.6832+-6.2978 might be 1.0287x faster <geometric> 311.2715+-2.3994 309.3223+-1.7041 might be 1.0063x faster Baseline PreBoxFTLInt32s Geomean of preferred means: <scaled-result> 61.6674+-0.2363 61.5155+-0.1422 might be 1.0025x faster (In reply to comment #3) There were quite a few "definitely slower"s in the JSRegress results. Are any of those for real, or are they just noise? Comment on attachment 264131 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=264131&action=review > Source/JavaScriptCore/jit/CallFrameShuffler.cpp:-309 > - ASSERT(!isUndecided()); The bug description mentioned that you encountered this assertion, and that you will address it. But I didn't see anything that explains why this assertion is unneeded, or maybe I'm not making the connection. Can you please clarify? Thanks. (In reply to comment #5) > Comment on attachment 264131 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=264131&action=review > > > Source/JavaScriptCore/jit/CallFrameShuffler.cpp:-309 > > - ASSERT(!isUndecided()); > > The bug description mentioned that you encountered this assertion, and that > you will address it. But I didn't see anything that explains why this > assertion is unneeded, or maybe I'm not making the connection. Can you > please clarify? Thanks. I should have stated that the ASSERT is actually wrong. The function isUndecided() means that we haven't determined the new base for the callee's frame. bool isUndecided() const { return m_newFrameBase == InvalidGPRReg; } extendFrameIfNeeded() is called from two places, CallFrameShuffler::spill() and CallFrameShuffler::prepareForSlowPath(). If you look at prepareForSlowPath(), the ASSERT makes sense. From the spill() path though, this could be when we are spilling a register so that we have a spare that we can use as the new frame's base pointer. I will add text explaining that in the ChangeLog. Comment on attachment 264131 [details]
Patch
r=me with ChangeLog changes to explain why the assertion in extendFrameIfNeeded() is wrong.
Committed r191625: <http://trac.webkit.org/changeset/191625> |