WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
149048
JavaScriptCore should discard optimized code after some time
https://bugs.webkit.org/show_bug.cgi?id=149048
Summary
JavaScriptCore should discard optimized code after some time
Geoffrey Garen
Reported
2015-09-10 16:22:59 PDT
JavaScriptCore should discard optimized code after some time
Attachments
Patch
(28.47 KB, patch)
2015-09-10 17:43 PDT
,
Geoffrey Garen
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Geoffrey Garen
Comment 1
2015-09-10 17:43:09 PDT
Created
attachment 260974
[details]
Patch
Geoffrey Garen
Comment 2
2015-09-10 19:49:16 PDT
Seems performance neutral. Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on Geoffrey-Garens-Mac-Pro (MacPro6,1). VMs tested: "Base" at /Volumes/Big/ggaren/OpenSource/WebKitBuild/Release/jsc (
r189584
) "Patch" at /Volumes/Big/ggaren/OpenSource/WebKitBuildPatch/Release/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. Base Patch SunSpider: 3d-cube 6.2373+-0.6998 6.0918+-0.5057 might be 1.0239x faster 3d-morph 6.4552+-0.5559 6.3865+-0.2720 might be 1.0108x faster 3d-raytrace 7.0774+-0.2845 ? 7.2231+-0.3546 ? might be 1.0206x slower access-binary-trees 2.5340+-0.2187 2.4935+-0.1033 might be 1.0163x faster access-fannkuch 6.6491+-0.1683 ? 6.7792+-0.1741 ? might be 1.0196x slower access-nbody 3.3130+-0.1320 3.3050+-0.1610 access-nsieve 3.8568+-0.1119 ? 3.9174+-0.3181 ? might be 1.0157x slower bitops-3bit-bits-in-byte 1.5070+-0.0284 ? 1.5217+-0.0832 ? bitops-bits-in-byte 3.9033+-0.0874 3.8508+-0.1092 might be 1.0136x faster bitops-bitwise-and 2.3863+-0.0722 ? 2.4268+-0.0485 ? might be 1.0170x slower bitops-nsieve-bits 3.4908+-0.0414 ! 3.7028+-0.0856 ! definitely 1.0607x slower controlflow-recursive 2.9725+-0.1339 2.8986+-0.0561 might be 1.0255x faster crypto-aes 5.0654+-0.1232 ? 5.0667+-0.1937 ? crypto-md5 3.1998+-0.1150 3.1823+-0.2156 crypto-sha1 2.9482+-0.0862 ? 2.9938+-0.0787 ? might be 1.0154x slower date-format-tofte 10.2503+-0.1374 10.2407+-0.1787 date-format-xparb 5.9922+-0.1604 ? 6.0702+-0.3438 ? might be 1.0130x slower math-cordic 3.5610+-0.0136 ? 3.6011+-0.1595 ? might be 1.0113x slower math-partial-sums 6.1277+-0.0955 6.0555+-0.1174 might be 1.0119x faster math-spectral-norm 2.4400+-0.2233 2.3893+-0.0634 might be 1.0212x faster regexp-dna 7.5459+-0.1979 ? 7.5820+-0.1625 ? string-base64 5.2004+-0.0721 ? 5.2903+-0.2524 ? might be 1.0173x slower string-fasta 6.9998+-0.3947 ? 7.0070+-0.2213 ? string-tagcloud 9.4146+-0.1670 ? 9.5873+-0.3361 ? might be 1.0183x slower string-unpack-code 21.7823+-0.4895 21.4761+-0.4036 might be 1.0143x faster string-validate-input 5.2923+-0.1939 5.1880+-0.1313 might be 1.0201x faster <arithmetic> 5.6232+-0.0523 ? 5.6280+-0.0212 ? might be 1.0009x slower Base Patch LongSpider: 3d-cube 948.2208+-3.5460 ! 954.2710+-1.8615 ! definitely 1.0064x slower 3d-morph 1629.8265+-4.5521 ? 1635.0995+-5.5715 ? 3d-raytrace 745.0506+-12.0808 731.1832+-19.6636 might be 1.0190x faster access-binary-trees 1009.4177+-2.1948 1009.0797+-7.9027 access-fannkuch 356.6237+-20.6786 ? 359.5458+-6.8134 ? access-nbody 629.9277+-1.3096 ? 631.1139+-3.0141 ? access-nsieve 456.8562+-6.7241 456.4175+-5.9906 bitops-3bit-bits-in-byte 41.9263+-0.7383 41.8788+-0.1513 bitops-bits-in-byte 93.4480+-1.8670 ? 94.0328+-2.3434 ? bitops-nsieve-bits 461.6011+-3.7435 460.2842+-5.2090 controlflow-recursive 504.9008+-4.3465 503.0662+-2.5977 crypto-aes 658.4852+-6.1292 ! 684.1891+-7.0355 ! definitely 1.0390x slower crypto-md5 540.2925+-1.1328 ? 552.6625+-47.9564 ? might be 1.0229x slower crypto-sha1 760.6544+-11.9878 ? 764.1653+-2.0718 ? date-format-tofte 770.2838+-21.2322 ? 806.0181+-42.6851 ? might be 1.0464x slower date-format-xparb 849.3405+-24.4395 845.8824+-22.7552 hash-map 192.5185+-14.1186 188.5817+-4.5427 might be 1.0209x faster math-cordic 564.9545+-3.1905 ? 565.1143+-2.6668 ? math-partial-sums 637.1646+-3.6162 632.9369+-2.8693 math-spectral-norm 601.4333+-3.3690 ? 601.8270+-4.6640 ? string-base64 421.3780+-2.5806 420.9502+-3.0048 string-fasta 426.9791+-6.4953 ? 431.3574+-4.6062 ? might be 1.0103x slower string-tagcloud 211.5512+-7.9018 211.2122+-3.9881 <geometric> 471.2531+-3.7056 ? 473.0172+-2.3338 ? might be 1.0037x slower Base Patch V8Spider: crypto 58.2097+-0.6847 58.0803+-0.5660 deltablue 77.3356+-1.3123 76.9157+-1.9631 earley-boyer 48.6772+-0.5288 48.5846+-0.9942 raytrace 34.3395+-2.9003 33.5005+-0.7629 might be 1.0250x faster regexp 77.2864+-0.2377 ? 77.8897+-1.2145 ? richards 66.8525+-2.7246 65.7289+-0.7452 might be 1.0171x faster splay 41.3040+-2.4085 ? 42.1997+-5.3736 ? might be 1.0217x slower <geometric> 55.4076+-0.7865 55.2283+-1.0001 might be 1.0032x faster Base Patch Octane: encrypt 0.23409+-0.00612 0.23326+-0.00528 decrypt 3.95816+-0.13177 ? 4.12333+-0.27060 ? might be 1.0417x slower deltablue x2 0.19946+-0.00486 ? 0.20553+-0.01411 ? might be 1.0305x slower earley 0.36717+-0.00167 ! 0.37233+-0.00259 ! definitely 1.0141x slower boyer 5.48428+-0.12144 ? 5.56320+-0.01901 ? might be 1.0144x slower navier-stokes x2 5.47994+-0.01630 5.46790+-0.00738 raytrace x2 1.26255+-0.08325 ? 1.33305+-0.12293 ? might be 1.0558x slower richards x2 0.12981+-0.00145 ? 0.12984+-0.00070 ? splay x2 0.37700+-0.00468 0.37496+-0.00241 regexp x2 28.75323+-0.27899 ? 28.86369+-0.31549 ? pdfjs x2 44.65081+-0.34340 ? 44.82206+-0.09845 ? mandreel x2 51.61221+-0.22120 51.50935+-0.36027 gbemu x2 50.04648+-4.62259 48.81325+-4.94189 might be 1.0253x faster closure 0.76864+-0.00280 0.76804+-0.00432 jquery 9.64820+-0.10518 9.64324+-0.09229 box2d x2 13.48822+-0.20810 13.39042+-0.05116 zlib x2 431.98319+-32.10724 ? 444.29810+-8.06167 ? might be 1.0285x slower typescript x2 896.21698+-12.58872 891.41260+-17.48438 <geometric> 6.95822+-0.13383 ? 7.00655+-0.03539 ? might be 1.0069x slower Base Patch Kraken: ai-astar 292.406+-5.995 ? 296.105+-7.487 ? might be 1.0127x slower audio-beat-detection 63.339+-2.650 ? 63.389+-0.878 ? audio-dft 112.648+-0.466 112.370+-1.076 audio-fft 42.341+-1.827 41.859+-0.479 might be 1.0115x faster audio-oscillator 74.727+-0.311 ? 74.835+-0.461 ? imaging-darkroom 73.143+-0.605 ? 73.244+-0.466 ? imaging-desaturate 65.622+-0.597 ? 66.083+-0.246 ? imaging-gaussian-blur 110.054+-1.044 ? 110.892+-0.787 ? json-parse-financial 48.437+-0.348 ? 48.912+-1.294 ? json-stringify-tinderbox 29.625+-0.609 ? 29.689+-0.435 ? stanford-crypto-aes 49.640+-2.558 48.840+-0.351 might be 1.0164x faster stanford-crypto-ccm 46.026+-2.410 ? 47.207+-2.503 ? might be 1.0257x slower stanford-crypto-pbkdf2 109.024+-8.086 106.833+-0.944 might be 1.0205x faster stanford-crypto-sha256-iterative 43.832+-1.966 43.548+-0.650 <arithmetic> 82.919+-1.092 ? 83.129+-0.352 ? might be 1.0025x slower Base Patch JSRegress: abc-forward-loop-equal 48.1035+-0.5561 ? 48.2924+-1.0393 ? abc-postfix-backward-loop 48.0013+-0.8086 47.8587+-0.6556 abc-simple-backward-loop 47.6072+-0.8286 ? 47.7894+-0.3806 ? abc-simple-forward-loop 47.5130+-0.3448 ? 47.9283+-0.7418 ? abc-skippy-loop 33.0482+-0.2891 32.8343+-0.7428 abs-boolean 2.9927+-0.1647 ? 2.9993+-0.1007 ? adapt-to-double-divide 16.7838+-0.3599 16.6985+-0.3171 aliased-arguments-getbyval 1.4738+-0.1747 ? 1.4794+-0.1304 ? allocate-big-object 2.6908+-0.0736 ? 2.7150+-0.0954 ? arguments-named-and-reflective 11.3193+-0.2797 11.0587+-0.2759 might be 1.0236x faster arguments-out-of-bounds 12.1168+-0.2314 ? 12.6416+-0.5029 ? might be 1.0433x slower arguments-strict-mode 9.7892+-0.3217 ? 9.8463+-0.5311 ? arguments 8.8338+-0.3951 8.8176+-0.4749 arity-mismatch-inlining 1.1785+-0.0632 1.1765+-0.0791 array-access-polymorphic-structure 6.7513+-0.3880 6.6359+-0.2965 might be 1.0174x faster array-nonarray-polymorhpic-access 32.2955+-1.1367 32.2368+-1.8580 array-prototype-every 90.6672+-1.1731 ^ 87.3447+-0.7376 ^ definitely 1.0380x faster array-prototype-forEach 87.8310+-0.6259 ^ 85.7389+-0.9604 ^ definitely 1.0244x faster array-prototype-map 94.6243+-3.8122 ? 95.2415+-3.5741 ? array-prototype-reduce 84.8847+-0.9273 ^ 83.1986+-0.4480 ^ definitely 1.0203x faster array-prototype-reduceRight 85.2482+-3.5397 83.5174+-1.7338 might be 1.0207x faster array-prototype-some 90.0785+-0.9885 ^ 87.6427+-0.8578 ^ definitely 1.0278x faster array-splice-contiguous 27.2339+-0.7555 ? 27.7100+-1.0436 ? might be 1.0175x slower array-with-double-add 4.5016+-0.1538 4.4897+-0.0679 array-with-double-increment 3.5605+-0.1503 ? 3.6738+-0.2240 ? might be 1.0318x slower array-with-double-mul-add 5.3488+-0.0276 ? 5.4230+-0.1689 ? might be 1.0139x slower array-with-double-sum 3.6185+-0.0872 ? 3.6650+-0.2377 ? might be 1.0129x slower array-with-int32-add-sub 7.5129+-0.2097 7.3766+-0.1579 might be 1.0185x faster array-with-int32-or-double-sum 3.7282+-0.0855 3.7060+-0.0880 ArrayBuffer-DataView-alloc-large-long-lived 32.4965+-0.7169 32.3425+-0.4192 ArrayBuffer-DataView-alloc-long-lived 13.8568+-0.6737 13.8319+-0.1462 ArrayBuffer-Int32Array-byteOffset 4.1959+-0.2235 ? 4.2175+-0.1405 ? ArrayBuffer-Int8Array-alloc-large-long-lived 39.1814+-0.7421 ? 40.2591+-0.3356 ? might be 1.0275x slower ArrayBuffer-Int8Array-alloc-long-lived-buffer 22.8585+-0.8327 ? 22.9091+-0.3903 ? ArrayBuffer-Int8Array-alloc-long-lived 13.7353+-0.3880 ? 13.8456+-0.6961 ? ArrayBuffer-Int8Array-alloc 10.6022+-0.6779 ? 10.8674+-0.2719 ? might be 1.0250x slower arrowfunction-call 12.2315+-0.3184 ? 12.3964+-0.1959 ? might be 1.0135x slower asmjs_bool_bug 8.3838+-0.1533 ? 8.4919+-0.2304 ? might be 1.0129x slower assign-custom-setter-polymorphic 3.2315+-0.2413 ? 3.3799+-0.1348 ? might be 1.0459x slower assign-custom-setter 4.4169+-0.2202 ! 4.7983+-0.1085 ! definitely 1.0864x slower basic-set 9.8530+-0.3592 ? 9.9135+-0.4781 ? big-int-mul 4.2476+-0.0409 ? 4.3080+-0.2400 ? might be 1.0142x slower boolean-test 3.4380+-0.0488 ? 3.4860+-0.1120 ? might be 1.0140x slower branch-fold 4.2503+-0.1265 4.2258+-0.1025 branch-on-string-as-boolean 18.8042+-0.2395 18.5748+-0.3348 might be 1.0123x faster by-val-generic 2.9458+-0.1551 2.8915+-0.1721 might be 1.0188x faster call-spread-apply 31.0847+-0.6128 ? 31.1466+-0.6160 ? call-spread-call 25.4944+-0.3940 ? 25.6371+-0.7728 ? captured-assignments 0.6633+-0.0708 ? 0.6989+-0.0173 ? might be 1.0536x slower cast-int-to-double 5.9068+-0.1977 ? 6.1335+-0.4189 ? might be 1.0384x slower cell-argument 7.4530+-0.2797 7.1038+-0.1011 might be 1.0492x faster cfg-simplify 3.2186+-0.2275 3.1664+-0.0892 might be 1.0165x faster chain-getter-access 8.5395+-0.7279 8.5180+-0.1890 cmpeq-obj-to-obj-other 11.3019+-0.3684 11.1620+-0.2548 might be 1.0125x faster constant-test 5.4701+-0.2929 ? 5.5930+-0.3335 ? might be 1.0225x slower create-lots-of-functions 11.5002+-0.4423 11.2812+-0.4050 might be 1.0194x faster cse-new-array-buffer 2.6204+-0.0989 ? 2.6536+-0.1842 ? might be 1.0127x slower cse-new-array 2.7009+-0.1032 ? 2.7596+-0.0704 ? might be 1.0217x slower DataView-custom-properties 38.5078+-1.1626 ? 38.5394+-1.7292 ? delay-tear-off-arguments-strictmode 14.3003+-0.4223 ? 14.5397+-0.3416 ? might be 1.0167x slower deltablue-varargs 223.1760+-4.3511 ? 234.9409+-16.3981 ? might be 1.0527x slower destructuring-arguments 187.9759+-1.2313 ? 190.3360+-2.2611 ? might be 1.0126x slower destructuring-parameters-overridden-by-function 0.7146+-0.0277 0.6899+-0.0176 might be 1.0358x faster destructuring-swap 5.7375+-0.1178 5.7073+-0.4247 direct-arguments-getbyval 1.4429+-0.1372 1.4395+-0.0783 div-boolean-double 5.7106+-0.2121 ? 5.7683+-0.2591 ? might be 1.0101x slower div-boolean 8.5978+-0.3652 8.4628+-0.3403 might be 1.0160x faster double-get-by-val-out-of-bounds 4.8203+-0.0944 ? 4.8655+-0.1121 ? double-pollution-getbyval 9.4998+-0.2149 9.3795+-0.0371 might be 1.0128x faster double-pollution-putbyoffset 4.5532+-0.2151 ? 4.6624+-0.2673 ? might be 1.0240x slower double-real-use 30.7264+-0.7680 ? 31.3766+-1.1779 ? might be 1.0212x slower double-to-int32-typed-array-no-inline 2.7514+-0.0644 ? 2.7988+-0.0404 ? might be 1.0172x slower double-to-int32-typed-array 2.4935+-0.0339 ? 2.5008+-0.0269 ? double-to-uint32-typed-array-no-inline 2.8384+-0.0736 2.8302+-0.1239 double-to-uint32-typed-array 2.5436+-0.2247 2.5090+-0.0900 might be 1.0138x faster elidable-new-object-dag 40.2050+-0.7183 39.6685+-0.8250 might be 1.0135x faster elidable-new-object-roflcopter 41.5924+-2.3977 40.3585+-0.2329 might be 1.0306x faster elidable-new-object-then-call 32.4847+-0.7504 ? 32.6133+-1.0561 ? elidable-new-object-tree 44.1786+-1.5786 ? 44.6307+-1.3642 ? might be 1.0102x slower empty-string-plus-int 5.7098+-0.2421 5.4800+-0.0760 might be 1.0419x faster emscripten-cube2hash 40.6042+-0.7137 ? 40.8475+-0.3289 ? exit-length-on-plain-object 14.6960+-1.0210 14.4001+-0.6074 might be 1.0205x faster external-arguments-getbyval 1.6146+-0.1492 ? 1.6296+-0.1953 ? external-arguments-putbyval 2.5869+-0.1000 2.5798+-0.0944 fixed-typed-array-storage-var-index 1.5748+-0.0273 ? 1.5806+-0.0486 ? fixed-typed-array-storage 1.2333+-0.0361 1.2120+-0.0101 might be 1.0176x faster Float32Array-matrix-mult 5.0604+-0.1371 ? 5.1265+-0.1525 ? might be 1.0131x slower Float32Array-to-Float64Array-set 55.5769+-0.4961 ! 60.3507+-3.0429 ! definitely 1.0859x slower Float64Array-alloc-long-lived 87.2200+-1.3251 ? 88.1776+-0.8644 ? might be 1.0110x slower Float64Array-to-Int16Array-set 71.9532+-0.6098 ! 75.4155+-1.0384 ! definitely 1.0481x slower fold-double-to-int 15.0355+-0.6995 14.8770+-0.1703 might be 1.0107x faster fold-get-by-id-to-multi-get-by-offset-rare-int 10.0189+-0.1284 9.7164+-0.4659 might be 1.0311x faster fold-get-by-id-to-multi-get-by-offset 8.3186+-0.0879 ! 8.6828+-0.2584 ! definitely 1.0438x slower fold-multi-get-by-offset-to-get-by-offset 8.0441+-0.2120 7.7456+-0.8229 might be 1.0385x faster fold-multi-get-by-offset-to-poly-get-by-offset 7.9437+-0.4780 ? 8.0733+-0.0665 ? might be 1.0163x slower fold-multi-put-by-offset-to-poly-put-by-offset 8.6274+-0.2882 ? 8.7487+-0.1560 ? might be 1.0141x slower fold-multi-put-by-offset-to-put-by-offset 6.2975+-0.0354 6.2590+-0.0789 fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 11.5766+-1.0997 ? 12.2416+-0.3844 ? might be 1.0574x slower fold-put-by-id-to-multi-put-by-offset 9.2458+-0.1445 9.1170+-0.0616 might be 1.0141x faster fold-put-by-val-with-string-to-multi-put-by-offset 10.2343+-0.7437 10.1255+-0.6364 might be 1.0107x faster fold-put-by-val-with-symbol-to-multi-put-by-offset 10.5015+-0.2209 10.3148+-0.1339 might be 1.0181x faster fold-put-structure 5.6913+-0.0697 5.6516+-0.1104 for-of-iterate-array-entries 12.8765+-0.5243 ? 13.1497+-0.3388 ? might be 1.0212x slower for-of-iterate-array-keys 4.1752+-0.3003 4.0663+-0.0699 might be 1.0268x faster for-of-iterate-array-values 4.2271+-0.2269 4.1605+-0.2083 might be 1.0160x faster fround 17.3673+-0.3637 17.0823+-0.5189 might be 1.0167x faster ftl-library-inlining-dataview 68.0703+-1.2451 67.6883+-0.3754 ftl-library-inlining 87.8853+-10.6803 87.7934+-9.9843 function-call 12.5859+-0.6688 ? 12.7795+-0.3634 ? might be 1.0154x slower function-dot-apply 2.6051+-0.0469 2.5950+-0.0448 function-test 3.2193+-0.0786 ? 3.2261+-0.1740 ? function-with-eval 112.6788+-3.5921 ? 113.9485+-5.9971 ? might be 1.0113x slower gcse-poly-get-less-obvious 22.9280+-3.0578 ? 23.6687+-4.1118 ? might be 1.0323x slower gcse-poly-get 25.4863+-1.7762 25.1368+-1.2359 might be 1.0139x faster gcse 4.7037+-0.0821 ? 4.7100+-0.0861 ? get-by-id-bimorphic-check-structure-elimination-simple 3.0352+-0.1894 2.9593+-0.0199 might be 1.0257x faster get-by-id-bimorphic-check-structure-elimination 6.5380+-0.2632 ? 6.6253+-0.2399 ? might be 1.0134x slower get-by-id-chain-from-try-block 6.0472+-0.1046 ? 6.0513+-0.0810 ? get-by-id-check-structure-elimination 5.4367+-0.0847 ? 5.4952+-0.1171 ? might be 1.0108x slower get-by-id-proto-or-self 19.8561+-3.9997 18.1194+-2.3369 might be 1.0958x faster get-by-id-quadmorphic-check-structure-elimination-simple 3.5529+-0.2508 ? 3.6356+-0.1542 ? might be 1.0233x slower get-by-id-self-or-proto 16.8647+-0.5897 ? 17.5812+-0.3535 ? might be 1.0425x slower get-by-val-out-of-bounds 4.7416+-0.1714 ? 4.7797+-0.1559 ? get-by-val-with-string-bimorphic-check-structure-elimination-simple 3.1897+-0.1960 3.1546+-0.0187 might be 1.0111x faster get-by-val-with-string-bimorphic-check-structure-elimination 7.6027+-0.3610 7.5794+-0.3607 get-by-val-with-string-chain-from-try-block 6.1221+-0.1064 ? 6.1418+-0.1981 ? get-by-val-with-string-check-structure-elimination 6.6045+-0.1906 6.5778+-0.4556 get-by-val-with-string-proto-or-self 16.8469+-0.9328 ? 16.9870+-0.6625 ? get-by-val-with-string-quadmorphic-check-structure-elimination-simple 3.9755+-0.0743 3.9297+-0.0649 might be 1.0116x faster get-by-val-with-string-self-or-proto 18.6971+-3.3760 18.6467+-4.7651 get-by-val-with-symbol-bimorphic-check-structure-elimination-simple 4.0092+-0.1205 ? 4.0128+-0.1225 ? get-by-val-with-symbol-bimorphic-check-structure-elimination 14.9407+-0.5033 14.6888+-0.2942 might be 1.0172x faster get-by-val-with-symbol-chain-from-try-block 6.2743+-0.3345 6.1370+-0.0784 might be 1.0224x faster get-by-val-with-symbol-check-structure-elimination 13.8293+-0.2424 ? 14.0618+-0.6038 ? might be 1.0168x slower get-by-val-with-symbol-proto-or-self 17.6307+-1.8650 16.6982+-1.0487 might be 1.0558x faster get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple 4.6359+-0.0676 4.6089+-0.0569 get-by-val-with-symbol-self-or-proto 18.9074+-3.4554 ? 19.7935+-5.2944 ? might be 1.0469x slower get_callee_monomorphic 2.7129+-0.1072 2.6530+-0.1890 might be 1.0226x faster get_callee_polymorphic 3.8300+-0.2907 3.7509+-0.0909 might be 1.0211x faster getter-no-activation 5.4818+-0.1841 ? 5.5209+-0.1138 ? getter-prototype 12.4570+-0.3733 ? 12.5677+-0.2328 ? getter-richards 105.8670+-6.9694 ? 109.2382+-1.4403 ? might be 1.0318x slower getter 5.8940+-0.0644 ? 5.9675+-0.1726 ? might be 1.0125x slower global-object-access-with-mutating-structure 6.7225+-0.5886 ? 6.7460+-0.5548 ? global-var-const-infer-fire-from-opt 1.0620+-0.1053 1.0029+-0.0591 might be 1.0589x faster global-var-const-infer 0.9444+-0.1326 ? 0.9679+-0.2018 ? might be 1.0249x slower hard-overflow-check-equal 52.9185+-0.5200 52.8524+-0.7410 hard-overflow-check 52.6165+-0.4986 ? 52.8942+-0.3932 ? HashMap-put-get-iterate-keys 29.5360+-0.4139 29.5180+-0.2162 HashMap-put-get-iterate 29.5767+-0.4430 ? 29.6217+-0.6966 ? HashMap-string-put-get-iterate 28.2620+-0.5061 ? 28.8810+-1.0779 ? might be 1.0219x slower hoist-make-rope 9.8349+-0.9167 9.7319+-0.4388 might be 1.0106x faster hoist-poly-check-structure-effectful-loop 5.7693+-0.0739 5.6109+-0.3129 might be 1.0282x faster hoist-poly-check-structure 3.9210+-0.1325 ? 3.9910+-0.0457 ? might be 1.0179x slower imul-double-only 6.7025+-0.0828 ? 6.8994+-0.3171 ? might be 1.0294x slower imul-int-only 7.4933+-0.4571 7.3098+-0.3317 might be 1.0251x faster imul-mixed 6.3622+-0.7186 ? 6.7463+-0.2592 ? might be 1.0604x slower in-four-cases 22.2242+-0.7362 ? 22.4494+-0.6771 ? might be 1.0101x slower in-one-case-false 12.1819+-0.4986 ? 12.1830+-0.1656 ? in-one-case-true 12.0107+-0.1792 ? 12.3430+-0.4526 ? might be 1.0277x slower in-two-cases 12.9393+-0.6616 12.6743+-0.3044 might be 1.0209x faster indexed-properties-in-objects 3.2122+-0.1168 ! 3.4222+-0.0666 ! definitely 1.0654x slower infer-closure-const-then-mov-no-inline 4.4662+-0.1405 ? 4.4791+-0.1120 ? infer-closure-const-then-mov 18.3288+-0.6653 18.0468+-0.3235 might be 1.0156x faster infer-closure-const-then-put-to-scope-no-inline 13.3832+-0.5111 ? 13.4852+-0.3499 ? infer-closure-const-then-put-to-scope 24.3826+-0.7556 ? 24.7231+-0.7332 ? might be 1.0140x slower infer-closure-const-then-reenter-no-inline 59.7552+-0.6142 ? 59.8978+-0.8822 ? infer-closure-const-then-reenter 24.3978+-1.1732 ? 24.9388+-0.7626 ? might be 1.0222x slower infer-constant-global-property 3.9473+-0.1238 3.8723+-0.0588 might be 1.0194x faster infer-constant-property 3.0565+-0.1574 3.0112+-0.0925 might be 1.0150x faster infer-one-time-closure-ten-vars 9.9090+-0.4527 9.5013+-0.3505 might be 1.0429x faster infer-one-time-closure-two-vars 9.1288+-0.1974 9.0475+-0.4048 infer-one-time-closure 8.9611+-0.0701 ? 9.1169+-1.0928 ? might be 1.0174x slower infer-one-time-deep-closure 15.7145+-0.3856 15.5960+-0.1721 inline-arguments-access 4.2329+-0.0805 ? 4.2457+-0.1745 ? inline-arguments-aliased-access 4.3180+-0.2005 4.2280+-0.2336 might be 1.0213x faster inline-arguments-local-escape 4.3953+-0.4073 4.2136+-0.0859 might be 1.0431x faster inline-get-scoped-var 5.4865+-0.0399 ? 5.5066+-0.0951 ? inlined-put-by-id-transition 12.0798+-0.3691 12.0021+-0.3956 inlined-put-by-val-with-string-transition 83.7814+-2.2002 82.7788+-3.2583 might be 1.0121x faster inlined-put-by-val-with-symbol-transition 78.9785+-1.0235 ? 80.2457+-2.3106 ? might be 1.0160x slower int-or-other-abs-then-get-by-val 5.4112+-0.2169 ? 5.4224+-0.3706 ? int-or-other-abs-zero-then-get-by-val 17.8592+-0.7648 ? 17.8660+-0.1983 ? int-or-other-add-then-get-by-val 4.7850+-0.1026 ? 4.9000+-0.1965 ? might be 1.0240x slower int-or-other-add 5.9617+-0.3165 5.8693+-0.1850 might be 1.0157x faster int-or-other-div-then-get-by-val 4.5030+-0.1448 ? 4.6926+-0.2731 ? might be 1.0421x slower int-or-other-max-then-get-by-val 4.7780+-0.1563 4.7155+-0.0684 might be 1.0132x faster int-or-other-min-then-get-by-val 4.6543+-0.0917 4.5980+-0.0488 might be 1.0122x faster int-or-other-mod-then-get-by-val 4.2036+-0.0928 4.0475+-0.0728 might be 1.0386x faster int-or-other-mul-then-get-by-val 4.3290+-0.0631 4.3159+-0.0306 int-or-other-neg-then-get-by-val 4.7644+-0.0480 4.7549+-0.1058 int-or-other-neg-zero-then-get-by-val 17.7068+-0.6359 ? 17.7236+-0.2004 ? int-or-other-sub-then-get-by-val 5.0949+-0.5794 5.0521+-0.2516 int-or-other-sub 4.1118+-0.1812 4.0336+-0.0845 might be 1.0194x faster int-overflow-local 5.0202+-0.1580 4.9775+-0.1859 Int16Array-alloc-long-lived 53.7579+-1.1505 ? 54.5819+-0.7837 ? might be 1.0153x slower Int16Array-bubble-sort-with-byteLength 21.4916+-1.7347 ? 23.4140+-0.9621 ? might be 1.0895x slower Int16Array-bubble-sort 21.2446+-0.4869 ! 23.8806+-0.4579 ! definitely 1.1241x slower Int16Array-load-int-mul 1.8278+-0.0364 ? 1.8324+-0.0484 ? Int16Array-to-Int32Array-set 56.6932+-0.3758 ^ 53.6176+-0.6763 ^ definitely 1.0574x faster Int32Array-alloc-large 20.9693+-0.3988 ? 21.1763+-1.3286 ? Int32Array-alloc-long-lived 65.6148+-2.1784 ? 66.2059+-2.1091 ? Int32Array-alloc 2.8509+-0.3403 2.7319+-0.1152 might be 1.0435x faster Int32Array-Int8Array-view-alloc 6.8150+-0.4187 ? 6.8752+-0.3104 ? int52-spill 5.8445+-0.0795 ? 5.9636+-0.1852 ? might be 1.0204x slower Int8Array-alloc-long-lived 48.0988+-1.1143 48.0609+-0.3585 Int8Array-load-with-byteLength 3.7614+-0.1651 3.7407+-0.1625 Int8Array-load 3.7318+-0.0947 3.7098+-0.0998 integer-divide 12.3812+-0.1302 ? 12.3933+-0.0598 ? integer-modulo 2.3895+-0.1456 ? 2.5073+-0.5597 ? might be 1.0493x slower is-boolean-fold-tricky 4.6791+-0.1768 4.5599+-0.1430 might be 1.0262x faster is-boolean-fold 3.1417+-0.0568 3.1248+-0.0739 is-function-fold-tricky-internal-function 12.3511+-0.1122 ! 12.7722+-0.2373 ! definitely 1.0341x slower is-function-fold-tricky 4.7083+-0.1464 4.6413+-0.1993 might be 1.0144x faster is-function-fold 3.2090+-0.2112 ? 3.2590+-0.0977 ? might be 1.0156x slower is-number-fold-tricky 4.5206+-0.0877 4.4832+-0.1153 is-number-fold 3.0812+-0.0086 ? 3.1103+-0.1050 ? is-object-or-null-fold-functions 3.2311+-0.1815 3.2076+-0.0344 is-object-or-null-fold-less-tricky 4.7050+-0.2780 4.7010+-0.1387 is-object-or-null-fold-tricky 6.6096+-0.3387 6.5068+-0.3227 might be 1.0158x faster is-object-or-null-fold 3.2028+-0.2336 ? 3.2035+-0.1728 ? is-object-or-null-trickier-function 4.9253+-0.4361 4.6915+-0.0762 might be 1.0498x faster is-object-or-null-trickier-internal-function 12.7163+-0.4285 ? 12.8639+-0.1060 ? might be 1.0116x slower is-object-or-null-tricky-function 4.6570+-0.0428 ? 4.6932+-0.1739 ? is-object-or-null-tricky-internal-function 9.7974+-0.0980 ? 9.9031+-0.3577 ? might be 1.0108x slower is-string-fold-tricky 4.5418+-0.0991 4.5173+-0.0994 is-string-fold 3.1372+-0.0893 ? 3.1390+-0.1655 ? is-undefined-fold-tricky 3.7626+-0.1408 ? 3.8765+-0.1306 ? might be 1.0303x slower is-undefined-fold 3.1303+-0.1176 ? 3.1395+-0.0810 ? JSONP-negative-0 0.4467+-0.1607 0.4174+-0.0156 might be 1.0703x faster large-int-captured 4.9310+-0.1557 4.7653+-0.1667 might be 1.0348x faster large-int-neg 16.0753+-0.2672 ? 16.6140+-0.8417 ? might be 1.0335x slower large-int 14.3806+-0.6807 ? 14.6409+-0.8332 ? might be 1.0181x slower load-varargs-elimination 25.7891+-1.6299 25.3300+-1.4658 might be 1.0181x faster logical-not-weird-types 3.9338+-0.3594 3.8328+-0.1446 might be 1.0263x faster logical-not 5.0678+-0.1032 ? 5.1293+-0.2495 ? might be 1.0121x slower lots-of-fields 12.2301+-0.5804 11.7603+-0.5923 might be 1.0399x faster make-indexed-storage 3.2770+-0.3707 ? 3.3136+-0.3320 ? might be 1.0112x slower make-rope-cse 3.7972+-0.1017 3.7879+-0.0661 marsaglia-larger-ints 40.6863+-0.9590 40.3148+-1.7619 marsaglia-osr-entry 22.4962+-0.6040 22.0637+-0.0399 might be 1.0196x faster math-with-out-of-bounds-array-values 24.9387+-0.1729 ! 25.9249+-0.3306 ! definitely 1.0395x slower max-boolean 2.7365+-0.0751 ? 2.7622+-0.0953 ? method-on-number 18.3220+-0.6449 ? 18.5464+-0.8985 ? might be 1.0122x slower min-boolean 2.8106+-0.0773 ? 2.8146+-0.0643 ? minus-boolean-double 3.4840+-0.0728 3.4763+-0.0489 minus-boolean 2.6152+-0.0850 ? 2.6163+-0.0106 ? misc-strict-eq 33.7088+-1.8749 33.3093+-1.6502 might be 1.0120x faster mod-boolean-double 11.5528+-0.2004 ? 11.5768+-0.1514 ? mod-boolean 8.4190+-0.3070 8.3293+-0.2680 might be 1.0108x faster mul-boolean-double 4.0167+-0.0893 ? 4.0730+-0.1955 ? might be 1.0140x slower mul-boolean 3.1799+-0.1238 ? 3.2496+-0.1714 ? might be 1.0219x slower neg-boolean 3.5299+-0.1829 3.4731+-0.0845 might be 1.0163x faster negative-zero-divide 0.5255+-0.0303 ? 0.5269+-0.0240 ? negative-zero-modulo 0.5057+-0.0287 ? 0.5204+-0.0178 ? might be 1.0291x slower negative-zero-negate 0.5245+-0.0199 ? 0.5298+-0.0072 ? might be 1.0100x slower nested-function-parsing 52.9336+-0.6886 ! 54.5853+-0.5575 ! definitely 1.0312x slower new-array-buffer-dead 107.6801+-1.3331 107.3778+-0.5421 new-array-buffer-push 6.8890+-0.3760 ? 6.9991+-0.1106 ? might be 1.0160x slower new-array-dead 15.8400+-1.9725 ? 16.7477+-4.1757 ? might be 1.0573x slower new-array-push 4.1543+-0.0463 4.1073+-0.1780 might be 1.0114x faster no-inline-constructor 38.1882+-2.8637 37.9509+-0.8652 number-test 3.4013+-0.0479 ? 3.4438+-0.0406 ? might be 1.0125x slower object-closure-call 6.3429+-0.1600 ? 6.3528+-0.1952 ? object-get-own-property-symbols-on-large-array 4.0447+-0.2725 ? 4.2041+-0.2472 ? might be 1.0394x slower object-test 3.2077+-0.2401 ? 3.2257+-0.1948 ? obvious-sink-pathology-taken 124.3295+-1.0017 ? 124.6260+-0.9326 ? obvious-sink-pathology 117.5911+-1.0863 ? 117.7963+-0.6207 ? obviously-elidable-new-object 28.3379+-0.2113 ! 29.4803+-0.7092 ! definitely 1.0403x slower plus-boolean-arith 2.8150+-0.1031 ? 2.8298+-0.0754 ? plus-boolean-double 3.5417+-0.1951 ? 3.5540+-0.1459 ? plus-boolean 2.6378+-0.0951 ? 2.6926+-0.1230 ? might be 1.0208x slower poly-chain-access-different-prototypes-simple 4.3190+-0.1118 ? 4.3412+-0.2244 ? poly-chain-access-different-prototypes 4.3748+-0.0752 4.3513+-0.0730 poly-chain-access-simpler 4.3500+-0.1794 4.3227+-0.1853 poly-chain-access 4.3268+-0.0655 4.3008+-0.0254 poly-stricteq 65.0734+-0.3617 ? 65.4987+-3.6282 ? polymorphic-array-call 1.6907+-0.0373 ? 1.7180+-0.1425 ? might be 1.0161x slower polymorphic-get-by-id 3.4050+-0.0604 ? 3.5034+-0.1792 ? might be 1.0289x slower polymorphic-put-by-id 30.6072+-4.1435 28.1839+-2.0028 might be 1.0860x faster polymorphic-put-by-val-with-string 31.8353+-4.0195 30.9077+-4.8101 might be 1.0300x faster polymorphic-put-by-val-with-symbol 30.4117+-3.9061 28.5417+-0.3851 might be 1.0655x faster polymorphic-structure 15.9402+-0.1737 ? 16.3052+-1.0374 ? might be 1.0229x slower polyvariant-monomorphic-get-by-id 9.2556+-0.3274 9.0581+-0.1915 might be 1.0218x faster proto-getter-access 8.4208+-0.2796 8.4055+-0.2691 prototype-access-with-mutating-prototype 6.4734+-0.1408 6.3663+-0.2912 might be 1.0168x faster put-by-id-replace-and-transition 9.7357+-0.3364 9.6450+-0.3109 put-by-id-slightly-polymorphic 3.1693+-0.2227 3.1048+-0.1054 might be 1.0208x faster put-by-id 12.6175+-0.4947 ? 12.6537+-0.5938 ? put-by-val-direct 0.5532+-0.0739 ? 0.5535+-0.0568 ? put-by-val-large-index-blank-indexing-type 5.6323+-0.0783 ? 5.8564+-0.3423 ? might be 1.0398x slower put-by-val-machine-int 2.9135+-0.0925 ? 2.9188+-0.2052 ? put-by-val-with-string-replace-and-transition 14.2010+-0.6017 13.9992+-0.1558 might be 1.0144x faster put-by-val-with-string-slightly-polymorphic 4.0900+-0.1024 ? 4.1268+-0.1660 ? put-by-val-with-string 13.5883+-0.7296 13.4720+-0.0482 put-by-val-with-symbol-replace-and-transition 15.3295+-0.5172 15.0808+-0.5488 might be 1.0165x faster put-by-val-with-symbol-slightly-polymorphic 4.1121+-0.1476 4.0933+-0.1579 put-by-val-with-symbol 13.2982+-0.4330 ? 13.3563+-0.6064 ? rare-osr-exit-on-local 15.1112+-0.1928 ? 15.1863+-0.3113 ? register-pressure-from-osr 22.7595+-0.4318 ? 23.1343+-0.5986 ? might be 1.0165x slower repeat-multi-get-by-offset 25.1729+-0.4199 ? 25.3583+-0.9629 ? setter-prototype 7.3597+-0.1280 ? 7.5302+-0.3865 ? might be 1.0232x slower setter 6.0432+-0.0519 ? 6.1143+-0.1187 ? might be 1.0118x slower simple-activation-demo 26.9531+-0.4117 26.7610+-0.7117 simple-getter-access 10.9451+-0.2104 ? 11.2740+-0.5488 ? might be 1.0301x slower simple-poly-call-nested 8.1638+-0.1222 8.0952+-0.0735 simple-poly-call 1.6819+-0.0246 ? 1.7116+-0.0199 ? might be 1.0176x slower sin-boolean 18.3032+-1.4250 ? 18.3826+-1.1145 ? singleton-scope 65.7672+-0.5304 65.7308+-0.7070 sink-function 10.2374+-0.1175 10.2098+-0.3518 sink-huge-activation 16.1848+-0.5124 ? 16.2265+-0.4778 ? sinkable-new-object-dag 65.5506+-5.7785 ? 66.7152+-5.1335 ? might be 1.0178x slower sinkable-new-object-taken 49.2723+-1.0427 ? 49.3115+-0.3463 ? sinkable-new-object 36.6432+-0.2633 ? 36.7252+-0.1604 ? slow-array-profile-convergence 3.0258+-0.3610 ? 3.1163+-0.2794 ? might be 1.0299x slower slow-convergence 3.0170+-0.1360 3.0093+-0.0834 slow-ternaries 19.4141+-0.3800 ? 19.5340+-0.2947 ? sorting-benchmark 20.4288+-0.2233 ? 20.8904+-1.7590 ? might be 1.0226x slower sparse-conditional 1.5334+-0.0369 1.5275+-0.0156 splice-to-remove 15.4173+-0.3900 ? 16.0878+-0.9037 ? might be 1.0435x slower string-char-code-at 17.9681+-0.4810 17.6215+-0.2419 might be 1.0197x faster string-concat-object 2.2531+-0.0724 ? 2.3021+-0.0538 ? might be 1.0218x slower string-concat-pair-object 2.2101+-0.1823 2.2093+-0.1749 string-concat-pair-simple 11.7041+-0.2897 ? 11.8547+-0.3716 ? might be 1.0129x slower string-concat-simple 12.2270+-0.5407 12.0445+-0.2470 might be 1.0152x faster string-cons-repeat 8.1304+-0.3160 7.8806+-0.5256 might be 1.0317x faster string-cons-tower 8.0052+-0.3428 ? 8.0276+-0.1973 ? string-equality 18.6295+-0.3478 ? 19.0002+-0.4735 ? might be 1.0199x slower string-get-by-val-big-char 7.3295+-0.2414 7.2252+-0.0996 might be 1.0144x faster string-get-by-val-out-of-bounds-insane 3.9244+-0.0414 3.9018+-0.1706 string-get-by-val-out-of-bounds 5.4972+-0.1938 ? 5.6815+-0.1329 ? might be 1.0335x slower string-get-by-val 3.6685+-0.1686 ? 3.7336+-0.0370 ? might be 1.0177x slower string-hash 2.4371+-0.1263 2.3954+-0.0807 might be 1.0174x faster string-long-ident-equality 15.6154+-0.4045 15.3831+-0.2601 might be 1.0151x faster string-out-of-bounds 12.8478+-0.4156 12.8387+-0.3508 string-repeat-arith 34.6110+-1.0393 34.1917+-2.4397 might be 1.0123x faster string-sub 70.7313+-0.1943 ^ 69.0818+-0.4489 ^ definitely 1.0239x faster string-test 3.2631+-0.0478 ? 3.3445+-0.1715 ? might be 1.0249x slower string-var-equality 34.2977+-0.8461 33.9955+-0.1745 structure-hoist-over-transitions 2.7400+-0.0622 2.7134+-0.1239 substring-concat-weird 43.3453+-1.0381 43.0583+-0.7842 substring-concat 47.2188+-0.9017 46.9208+-1.1969 substring 51.8653+-0.8646 ? 52.4946+-2.6871 ? might be 1.0121x slower switch-char-constant 3.0668+-0.0569 ? 3.0958+-0.1218 ? switch-char 6.8625+-0.2702 6.6623+-0.0978 might be 1.0301x faster switch-constant 11.0928+-0.7461 11.0499+-1.6914 switch-string-basic-big-var 22.0075+-0.3705 21.5055+-0.3714 might be 1.0233x faster switch-string-basic-big 19.7175+-0.3262 ? 20.1105+-0.1904 ? might be 1.0199x slower switch-string-basic-var 15.9337+-0.1604 ? 16.1204+-0.2862 ? might be 1.0117x slower switch-string-basic 15.1682+-0.4945 14.9330+-0.7539 might be 1.0157x faster switch-string-big-length-tower-var 21.3610+-0.6158 ? 21.5001+-0.2621 ? switch-string-length-tower-var 16.0756+-0.7110 15.8297+-0.4328 might be 1.0155x faster switch-string-length-tower 13.4177+-0.2120 13.2820+-0.2260 might be 1.0102x faster switch-string-short 13.4620+-0.2589 13.2797+-0.5204 might be 1.0137x faster switch 14.4987+-0.3938 ? 14.8499+-0.2951 ? might be 1.0242x slower tear-off-arguments-simple 3.3881+-0.2707 ? 3.4697+-0.0793 ? might be 1.0241x slower tear-off-arguments 4.6969+-0.1263 ? 4.7200+-0.2809 ? temporal-structure 14.4500+-0.2179 14.4330+-0.2158 to-int32-boolean 14.1476+-0.3757 ? 14.4440+-0.5843 ? might be 1.0209x slower try-catch-get-by-val-cloned-arguments 15.7106+-0.7948 15.5933+-0.6106 try-catch-get-by-val-direct-arguments 6.9453+-0.1399 ? 7.4100+-0.5119 ? might be 1.0669x slower try-catch-get-by-val-scoped-arguments 8.2535+-0.4974 8.1392+-0.1651 might be 1.0140x faster typed-array-get-set-by-val-profiling 30.2241+-0.5645 ? 30.3189+-0.6442 ? undefined-property-access 382.6136+-1.6418 381.9443+-1.1407 undefined-test 3.4184+-0.1295 ? 3.4193+-0.0883 ? unprofiled-licm 20.0278+-0.7352 ? 20.0485+-0.9729 ? varargs-call 14.8815+-0.3872 14.8328+-0.3921 varargs-construct-inline 26.8505+-0.5301 ? 27.1570+-0.8905 ? might be 1.0114x slower varargs-construct 23.5258+-0.5923 23.3618+-0.1625 varargs-inline 9.4118+-0.1307 ? 9.8157+-0.4786 ? might be 1.0429x slower varargs-strict-mode 10.7822+-0.1246 ? 11.0145+-0.1695 ? might be 1.0216x slower varargs 10.8675+-0.4662 10.7636+-0.4807 weird-inlining-const-prop 2.6058+-0.1340 ? 2.6479+-0.1650 ? might be 1.0162x slower <geometric> 9.3877+-0.0234 ? 9.4067+-0.0242 ? might be 1.0020x slower Base Patch AsmBench: bigfib.cpp 528.5793+-3.3852 ? 529.1025+-0.9544 ? cray.c 456.2888+-4.0944 455.0552+-3.0460 dry.c 527.4217+-5.1473 520.4431+-16.5272 might be 1.0134x faster FloatMM.c 768.4789+-7.8811 766.0724+-2.0565 gcc-loops.cpp 4200.5502+-42.5262 ? 4226.8358+-60.5876 ? n-body.c 1047.1781+-10.4612 ? 1048.1959+-3.9731 ? Quicksort.c 444.4725+-13.0951 ? 450.0363+-4.6655 ? might be 1.0125x slower stepanov_container.cpp 3930.5422+-43.8807 3927.3470+-42.9982 Towers.c 268.5123+-0.9841 268.3182+-0.7044 <geometric> 837.0230+-2.7997 837.0180+-3.4398 might be 1.0000x faster Base Patch CompressionBench: huffman 67.4948+-0.4238 66.7712+-0.7150 might be 1.0108x faster arithmetic-simple 354.3824+-1.4436 ? 355.1945+-3.7094 ? arithmetic-precise 286.4746+-0.6170 ? 286.8820+-1.5880 ? arithmetic-complex-precise 289.9983+-4.2780 288.6801+-4.6025 arithmetic-precise-order-0 363.2487+-2.1802 ? 364.5946+-2.4276 ? arithmetic-precise-order-1 341.5037+-4.9531 339.1226+-2.1590 arithmetic-precise-order-2 403.8220+-3.6805 ? 404.6668+-6.2920 ? arithmetic-simple-order-1 409.1862+-3.4871 ? 409.3912+-2.5747 ? arithmetic-simple-order-2 466.1685+-3.7014 465.3141+-1.5558 lz-string 315.7957+-10.5015 ? 320.7185+-9.8534 ? might be 1.0156x slower <geometric> 300.4539+-1.3091 ? 300.4931+-1.3449 ? might be 1.0001x slower Base Patch Geomean of preferred means: <scaled-result> 61.3229+-0.2256 ? 61.4227+-0.2358 ? might be 1.0016x slower
Michael Saboff
Comment 3
2015-09-10 21:12:57 PDT
Comment on
attachment 260974
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=260974&action=review
r=me
> Source/JavaScriptCore/jit/JITCode.h:129 > + return std::chrono::milliseconds(10000); // 10s
It probably makes sense to have this time to live as an option.
> Source/JavaScriptCore/jit/JITCode.h:131 > + return std::chrono::milliseconds(100000); // 100s
Ditto.
Geoffrey Garen
Comment 4
2015-09-11 09:08:47 PDT
Comment on
attachment 260974
[details]
Patch Clearing flags on attachment: 260974 Committed
r189620
: <
http://trac.webkit.org/changeset/189620
>
Geoffrey Garen
Comment 5
2015-09-11 09:08:52 PDT
All reviewed patches have been landed. Closing bug.
Geoffrey Garen
Comment 6
2015-09-11 09:14:40 PDT
> It probably makes sense to have this time to live as an option.
I should be able to arrange that in a follow-up patch.
Alexey Proskuryakov
Comment 7
2015-09-11 09:29:17 PDT
This appears to have broken CLOOP build: CompileC /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/CodeBlock.o bytecode/CodeBlock.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler cd /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore export LANG=en_US.US-ASCII /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++11 -stdlib=libc++ -Wno-trigraphs -fno-exceptions -fno-rtti -fpascal-strings -O0 -fno-common -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-c++11-extensions -DHAVE_HEADER_DETECTION_H -DENABLE_3D_TRANSFORMS -DENABLE_ATTACHMENT_ELEMENT -DENABLE_CACHE_PARTITIONING -DENABLE_CANVAS_PATH -DENABLE_CHANNEL_MESSAGING -DENABLE_ES6_ARROWFUNCTION_SYNTAX -DENABLE_ES6_CLASS_SYNTAX -DENABLE_ES6_TEMPLATE_LITERAL_SYNTAX -DENABLE_CONTENT_FILTERING -DENABLE_CSS_ANIMATIONS_LEVEL_2 -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_GRID_LAYOUT -DENABLE_CSS_REGIONS -DENABLE_CSS_SELECTORS_LEVEL4 -DENABLE_CSS_SHAPES -DENABLE_CURSOR_VISIBILITY -DENABLE_DASHBOARD_SUPPORT -DENABLE_DETAILS_ELEMENT -DENABLE_DOM4_EVENTS_CONSTRUCTOR -DENABLE_ENCRYPTED_MEDIA -DENABLE_ENCRYPTED_MEDIA_V2 -DENABLE_FULLSCREEN_API -DENABLE_GAMEPAD -DENABLE_GEOLOCATION -DENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING -DENABLE_ICONDATABASE -DENABLE_INDEXED_DATABASE -DENABLE_INDIE_UI -DENABLE_INPUT_TYPE_COLOR -DENABLE_INPUT_TYPE_COLOR_POPOVER -DENABLE_INTL -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_NOTIFICATIONS -DENABLE_LEGACY_VENDOR_PREFIXES -DENABLE_LEGACY_WEB_AUDIO -DENABLE_MATHML -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_STREAM -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NAVIGATOR_HWCONCURRENCY -DENABLE_NOTIFICATIONS -DENABLE_PDFKIT_PLUGIN -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REQUEST_ANIMATION_FRAME -DENABLE_RUBBER_BANDING -DENABLE_CSS_SCROLL_SNAP -DENABLE_SPEECH_SYNTHESIS -DENABLE_STREAMS_API -DENABLE_SUBTLE_CRYPTO -DENABLE_SVG_FONTS -DENABLE_SVG_OTF_CONVERTER -DENABLE_TEMPLATE_ELEMENT -DENABLE_CSS_TRAILING_WORD -DENABLE_USERSELECT_ALL -DENABLE_VIDEO -DENABLE_VIDEO_TRACK -DENABLE_DATACUE_VALUE -DENABLE_WEBGL -DENABLE_WEB_AUDIO -DENABLE_WEB_REPLAY -DENABLE_WEB_SOCKETS -DENABLE_XHR_TIMEOUT -DENABLE_XSLT -DENABLE_FTL_JIT=0 -DENABLE_JIT=0 -DENABLE_SATURATED_LAYOUT_ARITHMETIC -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/JavaScriptCore.hmap -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/include -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/DerivedSources/JavaScriptCore -I. -Iicu -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/usr/local/LLVMForJavaScriptCore/include -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/ExtraIncludesForLocalLLVMBuild -I/usr/local/LLVMForJavaScriptCore/include -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/usr/local/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources/x86_64 -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -F/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug -fno-strict-aliasing -include /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/PrecompiledHeaders/JavaScriptCorePrefix-bgfzggyfwybghlcusrgbwgdrrqyr/JavaScriptCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/CodeBlock.d --serialize-diagnostics /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/CodeBlock.dia -c /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp -o /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/CodeBlock.o /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2654:22: error: use of undeclared identifier 'callLinkInfosBegin' for (auto iter = callLinkInfosBegin(); !!iter; ++iter) ^ /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2657:50: error: use of undeclared identifier 'm_stubInfos' for (Bag<StructureStubInfo>::iterator iter = m_stubInfos.begin(); !!iter; ++iter) { ^ /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2659:17: error: member access into incomplete type 'JSC::StructureStubInfo' stubInfo.visitWeakReferences(this); ^ In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:59: /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/jit/Repatch.h:61:8: note: forward declaration of 'JSC::StructureStubInfo' struct StructureStubInfo; ^ In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:31: In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.h:33: In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/ArrayProfile.h:30: In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/runtime/JSArray.h:25: In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/runtime/ButterflyInlines.h:31: In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/heap/CopiedSpaceInlines.h:32: In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/runtime/VM.h:58: /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/usr/local/include/wtf/Bag.h:44:11: error: field has incomplete type 'JSC::StructureStubInfo' T m_item; ^ /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/usr/local/include/wtf/Bag.h:92:28: note: in instantiation of member class 'WTF::Bag<JSC::StructureStubInfo>::Node' requested here m_node = m_node->m_next; ^ /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2657:79: note: in instantiation of member function 'WTF::Bag<JSC::StructureStubInfo>::iterator::operator++' requested here for (Bag<StructureStubInfo>::iterator iter = m_stubInfos.begin(); !!iter; ++iter) { ^ In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:59: /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/jit/Repatch.h:61:8: note: forward declaration of 'JSC::StructureStubInfo' struct StructureStubInfo; ^ 4 errors generated.
Geoffrey Garen
Comment 8
2015-09-11 10:48:26 PDT
Committed revision 189623.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug