Bug 148915

Summary: CallLinkInfo inside StructureStubInfo should not use polymorphic stubs
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, benjamin, ggaren, mark.lam, mhahnenb, msaboff, nrotem, oliver, saam, sam
Priority: P2    
Version: Other   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 148717, 148914    
Attachments:
Description Flags
the patch mark.lam: review+

Filip Pizlo
Reported 2015-09-06 13:10:24 PDT
Because we can't handle that soundly yet, see: https://bugs.webkit.org/show_bug.cgi?id=148914.
Attachments
the patch (5.92 KB, patch)
2015-09-06 14:28 PDT, Filip Pizlo
mark.lam: review+
Filip Pizlo
Comment 1 2015-09-06 14:23:03 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 (r189445) "NoStubInStub" at /Volumes/Data/quartary/OpenSource/WebKitBuild/Release/jsc (r189445) Collected 7 samples per benchmark/VM, with 7 VM invocations per benchmark. Emitted a call to gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds. TipOfTree NoStubInStub SunSpider: 3d-cube 4.4863+-0.3037 ? 4.5702+-0.2353 ? might be 1.0187x slower 3d-morph 5.0741+-0.1274 4.9985+-0.1619 might be 1.0151x faster 3d-raytrace 5.2273+-0.2595 ? 5.3072+-0.5163 ? might be 1.0153x slower access-binary-trees 2.2078+-0.4364 2.0059+-0.1611 might be 1.1007x faster access-fannkuch 5.2579+-0.0649 ? 5.2679+-0.1200 ? access-nbody 2.4175+-0.0524 ? 2.4976+-0.2245 ? might be 1.0332x slower access-nsieve 3.1463+-0.1867 3.0030+-0.0855 might be 1.0477x faster bitops-3bit-bits-in-byte 1.0945+-0.0146 1.0886+-0.0149 bitops-bits-in-byte 3.2297+-0.0519 ? 3.2903+-0.1139 ? might be 1.0188x slower bitops-bitwise-and 2.0590+-0.1059 1.9787+-0.0215 might be 1.0406x faster bitops-nsieve-bits 3.0474+-0.1402 2.9359+-0.1077 might be 1.0380x faster controlflow-recursive 2.2109+-0.2329 ? 2.2199+-0.3178 ? crypto-aes 3.8497+-0.1525 3.7915+-0.0995 might be 1.0154x faster crypto-md5 2.3409+-0.1050 ? 2.4137+-0.2106 ? might be 1.0311x slower crypto-sha1 2.3342+-0.2377 2.3076+-0.1487 might be 1.0115x faster date-format-tofte 6.9188+-0.2255 6.7803+-0.1394 might be 1.0204x faster date-format-xparb 4.9956+-0.3415 ^ 4.5246+-0.0651 ^ definitely 1.1041x faster math-cordic 2.8676+-0.1282 2.8104+-0.1069 might be 1.0204x faster math-partial-sums 5.1741+-0.3847 5.1719+-0.3610 math-spectral-norm 1.7890+-0.0440 ? 1.8225+-0.0658 ? might be 1.0187x slower regexp-dna 6.3525+-0.0792 ? 6.6026+-0.4818 ? might be 1.0394x slower string-base64 4.5549+-0.2503 4.2684+-0.0993 might be 1.0671x faster string-fasta 5.8602+-0.4061 5.7390+-0.1687 might be 1.0211x faster string-tagcloud 7.9677+-0.3272 7.7136+-0.1252 might be 1.0329x faster string-unpack-code 18.1760+-0.2635 ? 18.4814+-0.4719 ? might be 1.0168x slower string-validate-input 4.9892+-0.1441 ? 5.0230+-0.1059 ? <arithmetic> 4.5242+-0.0318 4.4852+-0.0505 might be 1.0087x faster TipOfTree NoStubInStub LongSpider: 3d-cube 806.8251+-6.7709 ? 811.3313+-17.8794 ? 3d-morph 1487.5291+-3.0184 1485.6471+-3.0198 3d-raytrace 600.3646+-2.6881 598.4247+-4.7627 access-binary-trees 799.3903+-4.3820 794.1060+-2.1701 access-fannkuch 270.9680+-2.6412 ? 273.9191+-5.3494 ? might be 1.0109x slower access-nbody 508.2931+-1.0516 ? 509.9128+-4.6424 ? access-nsieve 368.1795+-11.5616 358.6409+-2.0344 might be 1.0266x faster bitops-3bit-bits-in-byte 33.6956+-0.4579 ? 34.5469+-1.0365 ? might be 1.0253x slower bitops-bits-in-byte 75.3085+-0.4176 ? 75.4519+-0.7142 ? bitops-nsieve-bits 401.0587+-1.8868 ? 403.7114+-4.4201 ? controlflow-recursive 430.6757+-8.5851 430.6240+-6.1257 crypto-aes 574.6968+-6.4648 ? 577.6324+-1.7762 ? crypto-md5 490.3250+-4.1085 ? 492.0566+-4.6088 ? crypto-sha1 625.4554+-9.6406 ? 632.8088+-10.1040 ? might be 1.0118x slower date-format-tofte 502.8369+-1.4068 ? 503.4295+-8.0359 ? date-format-xparb 662.2698+-6.3771 ? 662.4692+-2.5129 ? hash-map 168.0698+-2.0674 ? 169.8882+-5.4826 ? might be 1.0108x slower math-cordic 475.4584+-2.0676 ? 476.7958+-3.1921 ? math-partial-sums 462.6608+-8.0439 461.9444+-7.3613 math-spectral-norm 548.1280+-1.6347 546.5201+-1.4016 string-base64 363.8511+-1.6983 ? 368.9916+-8.2376 ? might be 1.0141x slower string-fasta 363.3456+-2.2319 ? 365.7929+-5.9052 ? string-tagcloud 175.8462+-2.0411 174.4048+-1.1084 <geometric> 388.2050+-1.5183 ? 389.1822+-1.2551 ? might be 1.0025x slower TipOfTree NoStubInStub V8Spider: crypto 49.2291+-1.9633 49.0299+-2.0053 deltablue 88.4742+-4.0679 83.6919+-4.3359 might be 1.0571x faster earley-boyer 39.9048+-0.6154 ! 41.8211+-0.7963 ! definitely 1.0480x slower raytrace 31.1692+-1.5761 ? 31.4865+-0.7358 ? might be 1.0102x slower regexp 62.2840+-1.3511 ? 62.7709+-2.2257 ? richards 64.6859+-0.6690 64.5993+-1.6172 splay 35.4570+-1.6000 ? 36.7076+-2.0637 ? might be 1.0353x slower <geometric> 49.9052+-0.7047 ? 50.1730+-0.4239 ? might be 1.0054x slower TipOfTree NoStubInStub Octane: encrypt 0.16968+-0.00082 0.16940+-0.00051 decrypt 3.30260+-0.07246 3.27650+-0.02141 deltablue x2 0.15625+-0.00132 ? 0.16358+-0.01356 ? might be 1.0469x slower earley 0.28528+-0.00353 0.28230+-0.00243 might be 1.0106x faster boyer 4.26981+-0.02797 ? 4.30473+-0.04682 ? navier-stokes x2 4.82061+-0.00943 ? 4.82936+-0.02379 ? raytrace x2 1.00953+-0.05469 1.00119+-0.06153 richards x2 0.10732+-0.00163 0.10666+-0.00158 splay x2 0.33023+-0.01172 0.32631+-0.00243 might be 1.0120x faster regexp x2 24.95905+-0.45041 ? 24.97907+-0.63837 ? pdfjs x2 36.85872+-0.26870 36.80195+-0.22459 mandreel x2 44.04581+-0.53996 43.77024+-0.49820 gbemu x2 33.85562+-0.39719 ? 35.27678+-2.56624 ? might be 1.0420x slower closure 0.56738+-0.00320 0.56687+-0.00393 jquery 7.09176+-0.06106 ? 7.12307+-0.17365 ? box2d x2 9.91938+-0.05786 ? 9.92044+-0.05343 ? zlib x2 382.61721+-12.36181 378.58754+-10.88932 might be 1.0106x faster typescript x2 637.98741+-7.48997 ? 693.82129+-108.53300 ? might be 1.0875x slower <geometric> 5.55480+-0.04184 ? 5.59558+-0.07193 ? might be 1.0073x slower TipOfTree NoStubInStub Kraken: ai-astar 221.657+-7.404 220.366+-1.894 audio-beat-detection 50.190+-0.403 ? 50.206+-0.591 ? audio-dft 95.523+-0.962 ? 96.717+-1.731 ? might be 1.0125x slower audio-fft 34.643+-0.207 ? 34.666+-0.358 ? audio-oscillator 59.145+-0.706 ? 60.176+-2.556 ? might be 1.0174x slower imaging-darkroom 60.785+-0.137 60.734+-0.099 imaging-desaturate 48.775+-0.294 ? 49.541+-1.134 ? might be 1.0157x slower imaging-gaussian-blur 85.271+-0.325 85.090+-0.399 json-parse-financial 40.134+-2.063 38.746+-0.598 might be 1.0358x faster json-stringify-tinderbox 23.050+-0.592 22.446+-0.497 might be 1.0269x faster stanford-crypto-aes 40.960+-1.078 40.522+-0.753 might be 1.0108x faster stanford-crypto-ccm 35.447+-1.598 35.218+-1.414 stanford-crypto-pbkdf2 99.370+-14.898 93.338+-0.157 might be 1.0646x faster stanford-crypto-sha256-iterative 35.814+-0.423 ? 36.589+-1.610 ? might be 1.0216x slower <arithmetic> 66.483+-0.971 66.025+-0.372 might be 1.0069x faster TipOfTree NoStubInStub JSRegress: abc-forward-loop-equal 29.7244+-0.7421 ? 31.1076+-2.5834 ? might be 1.0465x slower abc-postfix-backward-loop 29.5448+-0.4980 ? 29.9453+-0.7308 ? might be 1.0136x slower abc-simple-backward-loop 29.5804+-0.8255 ? 29.8438+-1.3053 ? abc-simple-forward-loop 29.2694+-0.7099 29.0974+-0.5866 abc-skippy-loop 21.3121+-0.4092 21.2400+-0.5586 abs-boolean 2.4745+-0.1382 ? 2.5015+-0.1951 ? might be 1.0109x slower adapt-to-double-divide 15.9676+-0.2260 ? 16.2312+-0.2857 ? might be 1.0165x slower aliased-arguments-getbyval 1.1943+-0.0895 1.1770+-0.0546 might be 1.0147x faster allocate-big-object 2.5547+-0.2203 2.5283+-0.1291 might be 1.0105x faster arguments-named-and-reflective 11.0901+-0.4128 10.6414+-0.2345 might be 1.0422x faster arguments-out-of-bounds 9.4186+-0.5272 9.3877+-0.5624 arguments-strict-mode 9.4594+-0.5420 9.3050+-0.3824 might be 1.0166x faster arguments 8.0910+-0.2493 ? 8.3850+-0.4227 ? might be 1.0363x slower arity-mismatch-inlining 0.8299+-0.0346 ? 0.8340+-0.0542 ? array-access-polymorphic-structure 6.1870+-0.6204 5.8774+-0.3797 might be 1.0527x faster array-nonarray-polymorhpic-access 26.8662+-4.8985 25.3439+-1.0107 might be 1.0601x faster array-prototype-every 74.5350+-0.6680 74.0367+-0.8892 array-prototype-forEach 73.6602+-0.7949 ? 73.8019+-1.5184 ? array-prototype-map 80.2021+-0.6616 79.9478+-1.1112 array-prototype-reduce 70.2996+-0.9462 69.9914+-1.2668 array-prototype-reduceRight 69.9532+-0.8572 ? 71.9436+-4.0373 ? might be 1.0285x slower array-prototype-some 75.3942+-0.9478 74.6004+-1.1567 might be 1.0106x faster array-splice-contiguous 21.3991+-0.8386 20.6709+-1.6456 might be 1.0352x faster array-with-double-add 3.4019+-0.0596 ? 3.5032+-0.3005 ? might be 1.0298x slower array-with-double-increment 3.1958+-0.2802 3.0254+-0.0579 might be 1.0563x faster array-with-double-mul-add 4.2989+-0.3100 ? 4.4030+-0.7248 ? might be 1.0242x slower array-with-double-sum 3.1895+-0.1115 3.1468+-0.0415 might be 1.0136x faster array-with-int32-add-sub 5.6114+-0.0452 5.6003+-0.0339 array-with-int32-or-double-sum 3.2364+-0.0781 3.2077+-0.0553 ArrayBuffer-DataView-alloc-large-long-lived 26.0305+-1.1462 25.5238+-0.4927 might be 1.0199x faster ArrayBuffer-DataView-alloc-long-lived 11.4500+-0.1828 ? 11.8132+-0.3342 ? might be 1.0317x slower ArrayBuffer-Int32Array-byteOffset 3.6484+-0.2443 3.4762+-0.0475 might be 1.0496x faster ArrayBuffer-Int8Array-alloc-large-long-lived 30.1263+-0.6853 29.5524+-0.7495 might be 1.0194x faster ArrayBuffer-Int8Array-alloc-long-lived-buffer 19.9542+-0.4455 ? 20.2920+-0.5131 ? might be 1.0169x slower ArrayBuffer-Int8Array-alloc-long-lived 12.0696+-0.2845 ? 12.3127+-0.2866 ? might be 1.0201x slower ArrayBuffer-Int8Array-alloc 9.4438+-0.4651 ? 9.4674+-0.4329 ? arrowfunction-call 9.9634+-0.2406 ? 9.9743+-0.2338 ? asmjs_bool_bug 7.6534+-0.1416 7.5491+-0.1153 might be 1.0138x faster assign-custom-setter-polymorphic 2.4540+-0.4127 2.3919+-0.1748 might be 1.0260x faster assign-custom-setter 3.1885+-0.0405 ? 3.4525+-0.5640 ? might be 1.0828x slower basic-set 7.2740+-0.2723 ? 7.3503+-0.3956 ? might be 1.0105x slower big-int-mul 3.5113+-0.0875 3.4994+-0.1660 boolean-test 3.0268+-0.2173 2.8673+-0.0495 might be 1.0556x faster branch-fold 3.5906+-0.0497 ? 3.6002+-0.0876 ? branch-on-string-as-boolean 16.8010+-0.5952 ? 17.0924+-0.5960 ? might be 1.0173x slower by-val-generic 2.2467+-0.0445 2.2060+-0.1130 might be 1.0185x faster call-spread-apply 25.9139+-0.3747 ? 27.2242+-1.7575 ? might be 1.0506x slower call-spread-call 21.1360+-0.8603 ? 23.0452+-5.0492 ? might be 1.0903x slower captured-assignments 0.4126+-0.0120 ? 0.4207+-0.0316 ? might be 1.0194x slower cast-int-to-double 4.9820+-0.1554 ? 5.0335+-0.1206 ? might be 1.0103x slower cell-argument 6.4866+-0.1843 6.2238+-0.2682 might be 1.0422x faster cfg-simplify 2.7990+-0.0861 ? 2.9252+-0.3169 ? might be 1.0451x slower chain-getter-access 8.1314+-0.1970 ? 8.3066+-0.2197 ? might be 1.0215x slower cmpeq-obj-to-obj-other 11.0854+-1.0462 ? 12.7997+-1.4830 ? might be 1.1546x slower constant-test 4.7382+-0.0924 ? 4.8018+-0.0773 ? might be 1.0134x slower create-lots-of-functions 9.6133+-0.5413 ? 10.0395+-1.3193 ? might be 1.0443x slower cse-new-array-buffer 2.3808+-0.2955 2.2601+-0.1306 might be 1.0534x faster cse-new-array 2.3218+-0.1387 ? 2.3408+-0.0704 ? DataView-custom-properties 30.6669+-1.0409 ? 31.8961+-1.0801 ? might be 1.0401x slower delay-tear-off-arguments-strictmode 12.1011+-0.5198 ? 12.5457+-0.5612 ? might be 1.0367x slower deltablue-varargs 162.8049+-2.2320 161.0285+-3.0028 might be 1.0110x faster destructuring-arguments 160.4623+-1.3405 160.1183+-1.7519 destructuring-parameters-overridden-by-function 0.4600+-0.0239 0.4420+-0.0298 might be 1.0408x faster destructuring-swap 4.6286+-0.0545 ? 4.6528+-0.1295 ? direct-arguments-getbyval 1.1877+-0.0606 1.1826+-0.0931 div-boolean-double 5.2381+-0.2374 ? 5.3285+-0.1533 ? might be 1.0172x slower div-boolean 8.0312+-0.0517 ? 8.1805+-0.1572 ? might be 1.0186x slower double-get-by-val-out-of-bounds 4.0324+-0.1043 ? 4.1190+-0.2022 ? might be 1.0215x slower double-pollution-getbyval 8.8461+-0.2412 8.7795+-0.3400 double-pollution-putbyoffset 3.6892+-0.0658 ? 3.7332+-0.2184 ? might be 1.0119x slower double-real-use 24.5750+-1.5498 ? 25.6860+-2.4632 ? might be 1.0452x slower double-to-int32-typed-array-no-inline 2.0336+-0.1266 1.9353+-0.0532 might be 1.0508x faster double-to-int32-typed-array 1.7902+-0.0201 ? 1.8434+-0.1410 ? might be 1.0297x slower double-to-uint32-typed-array-no-inline 2.0975+-0.2596 2.0942+-0.1638 double-to-uint32-typed-array 1.9083+-0.1362 1.8737+-0.0332 might be 1.0184x faster elidable-new-object-dag 34.0727+-0.5003 ? 34.2442+-0.5749 ? elidable-new-object-roflcopter 33.9821+-1.1125 33.7797+-0.9085 elidable-new-object-then-call 32.1508+-1.2873 ? 32.5077+-1.2293 ? might be 1.0111x slower elidable-new-object-tree 37.3875+-0.6587 ? 37.7885+-1.3148 ? might be 1.0107x slower empty-string-plus-int 4.9699+-0.4158 4.7076+-0.1499 might be 1.0557x faster emscripten-cube2hash 27.5615+-2.5568 27.1147+-2.2161 might be 1.0165x faster exit-length-on-plain-object 12.4902+-0.3860 12.4095+-0.8482 external-arguments-getbyval 1.2685+-0.2397 1.1970+-0.1313 might be 1.0597x faster external-arguments-putbyval 2.0605+-0.0308 2.0401+-0.0514 might be 1.0100x faster fixed-typed-array-storage-var-index 1.1234+-0.0148 1.1136+-0.0184 fixed-typed-array-storage 0.8378+-0.0118 0.8260+-0.0184 might be 1.0143x faster Float32Array-matrix-mult 3.9083+-0.1543 ? 3.9683+-0.3899 ? might be 1.0154x slower Float32Array-to-Float64Array-set 51.2129+-10.6846 46.9283+-1.2082 might be 1.0913x faster Float64Array-alloc-long-lived 68.8929+-1.2634 68.8300+-1.0604 Float64Array-to-Int16Array-set 57.7153+-1.0168 57.3258+-0.7650 fold-double-to-int 12.1111+-0.5085 11.7480+-0.2286 might be 1.0309x faster fold-get-by-id-to-multi-get-by-offset-rare-int 11.6903+-1.1869 11.5548+-0.5457 might be 1.0117x faster fold-get-by-id-to-multi-get-by-offset 11.4863+-2.2720 10.0982+-1.0602 might be 1.1375x faster fold-multi-get-by-offset-to-get-by-offset 8.4140+-1.2361 7.8843+-1.6048 might be 1.0672x faster fold-multi-get-by-offset-to-poly-get-by-offset 7.3711+-1.9996 ? 7.4784+-0.7777 ? might be 1.0145x slower fold-multi-put-by-offset-to-poly-put-by-offset 7.8396+-1.3328 ? 9.6893+-2.3636 ? might be 1.2360x slower fold-multi-put-by-offset-to-put-by-offset 3.8420+-0.3311 ? 3.8702+-0.4889 ? fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 8.1524+-0.7699 7.9287+-0.3646 might be 1.0282x faster fold-put-by-id-to-multi-put-by-offset 10.8834+-1.8123 9.9760+-0.4265 might be 1.0910x faster fold-put-by-val-with-string-to-multi-put-by-offset 9.7015+-0.3591 ? 10.3698+-1.2469 ? might be 1.0689x slower fold-put-by-val-with-symbol-to-multi-put-by-offset 9.5112+-0.9558 ? 9.9116+-0.8088 ? might be 1.0421x slower fold-put-structure 4.2846+-0.5733 ? 4.4036+-0.8056 ? might be 1.0278x slower for-of-iterate-array-entries 10.9256+-0.3371 10.8512+-0.1927 for-of-iterate-array-keys 3.6234+-0.1555 ? 3.7260+-0.2289 ? might be 1.0283x slower for-of-iterate-array-values 3.4242+-0.1897 ? 3.5662+-0.2270 ? might be 1.0415x slower fround 18.0548+-1.6204 18.0354+-0.8815 ftl-library-inlining-dataview 56.9488+-1.2334 55.0791+-0.7072 might be 1.0339x faster ftl-library-inlining 94.9161+-1.1514 ? 95.7021+-1.2779 ? function-call 9.9780+-0.2066 ? 9.9970+-0.2069 ? function-dot-apply 1.9674+-0.0421 1.9548+-0.0493 function-test 2.7051+-0.0926 ? 2.7668+-0.1337 ? might be 1.0228x slower function-with-eval 102.5778+-2.6982 100.9557+-1.9072 might be 1.0161x faster gcse-poly-get-less-obvious 14.3511+-0.3082 14.1007+-0.1907 might be 1.0178x faster gcse-poly-get 15.7545+-0.2348 ? 16.0480+-0.2478 ? might be 1.0186x slower gcse 3.8751+-0.0937 ? 3.8863+-0.2454 ? get-by-id-bimorphic-check-structure-elimination-simple 2.5475+-0.0315 ? 2.6438+-0.2234 ? might be 1.0378x slower get-by-id-bimorphic-check-structure-elimination 5.7104+-0.1030 5.6990+-0.0590 get-by-id-chain-from-try-block 5.6634+-0.3265 5.4262+-0.1506 might be 1.0437x faster get-by-id-check-structure-elimination 4.4297+-0.0757 ? 4.9540+-1.2232 ? might be 1.1184x slower get-by-id-proto-or-self 14.9323+-0.4905 14.8992+-0.1927 get-by-id-quadmorphic-check-structure-elimination-simple 2.8336+-0.0253 ? 2.9306+-0.1755 ? might be 1.0342x slower get-by-id-self-or-proto 15.4272+-0.9876 14.9246+-0.5426 might be 1.0337x faster get-by-val-out-of-bounds 3.6752+-0.0631 3.6645+-0.0935 get-by-val-with-string-bimorphic-check-structure-elimination-simple 2.7798+-0.0597 2.7386+-0.0328 might be 1.0151x faster get-by-val-with-string-bimorphic-check-structure-elimination 6.0734+-0.2354 6.0545+-0.2269 get-by-val-with-string-chain-from-try-block 5.7360+-0.3764 5.5291+-0.1040 might be 1.0374x faster get-by-val-with-string-check-structure-elimination 5.0696+-0.1044 ? 5.1602+-0.1914 ? might be 1.0179x slower get-by-val-with-string-proto-or-self 14.9756+-0.4689 14.9016+-0.4355 get-by-val-with-string-quadmorphic-check-structure-elimination-simple 3.2512+-0.0693 ? 3.2725+-0.0342 ? get-by-val-with-string-self-or-proto 14.7131+-0.2424 ? 15.1312+-0.5016 ? might be 1.0284x slower get-by-val-with-symbol-bimorphic-check-structure-elimination-simple 3.0715+-0.0516 3.0660+-0.0168 get-by-val-with-symbol-bimorphic-check-structure-elimination 12.2552+-0.1110 ? 12.2670+-0.1089 ? get-by-val-with-symbol-chain-from-try-block 5.7844+-0.2651 5.4945+-0.1538 might be 1.0528x faster get-by-val-with-symbol-check-structure-elimination 11.0419+-0.1808 10.9046+-0.0304 might be 1.0126x faster get-by-val-with-symbol-proto-or-self 15.1485+-0.3572 14.9056+-0.3742 might be 1.0163x faster get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple 3.6510+-0.0842 ? 3.7186+-0.2493 ? might be 1.0185x slower get-by-val-with-symbol-self-or-proto 15.0587+-0.6712 ? 15.3902+-0.6485 ? might be 1.0220x slower get_callee_monomorphic 2.3700+-0.2440 2.3172+-0.0616 might be 1.0228x faster get_callee_polymorphic 3.1828+-0.1898 ? 3.4938+-0.3378 ? might be 1.0977x slower getter-no-activation 4.6329+-0.1113 ? 4.6738+-0.1611 ? getter-prototype 8.9694+-0.2693 ? 9.0427+-0.2433 ? getter-richards 127.5516+-17.7726 121.4921+-4.5400 might be 1.0499x faster getter 5.8790+-0.8371 5.8096+-0.7442 might be 1.0119x faster global-object-access-with-mutating-structure 5.5235+-0.1415 ? 5.7412+-0.3479 ? might be 1.0394x slower global-var-const-infer-fire-from-opt 0.7842+-0.0725 ? 0.7899+-0.0697 ? global-var-const-infer 0.6211+-0.0814 0.6089+-0.0450 might be 1.0202x faster hard-overflow-check-equal 33.1301+-1.1818 32.5904+-0.4468 might be 1.0166x faster hard-overflow-check 32.8319+-0.7311 ? 32.8544+-0.6724 ? HashMap-put-get-iterate-keys 26.2363+-1.6603 ? 26.5059+-1.5360 ? might be 1.0103x slower HashMap-put-get-iterate 29.7619+-2.0010 27.6706+-1.8967 might be 1.0756x faster HashMap-string-put-get-iterate 25.3133+-1.5341 23.8610+-0.6029 might be 1.0609x faster hoist-make-rope 9.2512+-1.0114 8.8914+-0.7010 might be 1.0405x faster hoist-poly-check-structure-effectful-loop 4.0898+-0.0561 ? 4.1622+-0.2372 ? might be 1.0177x slower hoist-poly-check-structure 3.2233+-0.0521 ? 3.2434+-0.0488 ? imul-double-only 7.2578+-0.2038 7.2438+-0.1603 imul-int-only 7.8965+-0.4671 ? 8.4932+-0.9080 ? might be 1.0756x slower imul-mixed 6.8119+-0.3918 ? 7.1201+-0.2032 ? might be 1.0452x slower in-four-cases 16.4903+-0.3002 ? 16.6920+-0.6565 ? might be 1.0122x slower in-one-case-false 9.6363+-0.3833 ? 10.8731+-2.6149 ? might be 1.1284x slower in-one-case-true 10.1146+-0.6087 9.9513+-0.5425 might be 1.0164x faster in-two-cases 10.0990+-0.4318 ? 10.1347+-0.4771 ? indexed-properties-in-objects 2.7513+-0.0699 ? 2.9806+-0.5694 ? might be 1.0834x slower infer-closure-const-then-mov-no-inline 3.0608+-0.1382 ? 3.1136+-0.3148 ? might be 1.0172x slower infer-closure-const-then-mov 18.9044+-0.5900 18.4240+-0.6846 might be 1.0261x faster infer-closure-const-then-put-to-scope-no-inline 9.9698+-0.2389 ? 10.2043+-0.3361 ? might be 1.0235x slower infer-closure-const-then-put-to-scope 22.2333+-0.9377 ? 22.7525+-0.4826 ? might be 1.0234x slower infer-closure-const-then-reenter-no-inline 44.4270+-0.7025 43.9877+-0.2092 infer-closure-const-then-reenter 22.2840+-0.9074 21.7404+-0.4951 might be 1.0250x faster infer-constant-global-property 3.5175+-0.3862 3.3929+-0.0452 might be 1.0367x faster infer-constant-property 2.5828+-0.0247 ? 2.5973+-0.0598 ? infer-one-time-closure-ten-vars 7.9645+-0.8842 7.7613+-0.5225 might be 1.0262x faster infer-one-time-closure-two-vars 7.6703+-0.8447 7.5686+-0.5208 might be 1.0134x faster infer-one-time-closure 7.3757+-0.4092 ? 7.5402+-0.4017 ? might be 1.0223x slower infer-one-time-deep-closure 10.9158+-0.5376 10.7157+-0.5347 might be 1.0187x faster inline-arguments-access 3.9076+-0.4230 3.5909+-0.0644 might be 1.0882x faster inline-arguments-aliased-access 3.6672+-0.2239 3.6671+-0.1764 inline-arguments-local-escape 3.6558+-0.1895 ? 3.8782+-0.4266 ? might be 1.0608x slower inline-get-scoped-var 4.5084+-0.2198 4.4009+-0.0405 might be 1.0244x faster inlined-put-by-id-transition 11.0112+-1.5346 10.3217+-0.4281 might be 1.0668x faster inlined-put-by-val-with-string-transition 71.6415+-1.0950 71.4178+-1.0030 inlined-put-by-val-with-symbol-transition 70.1026+-1.7776 ? 70.6097+-1.9293 ? int-or-other-abs-then-get-by-val 4.1186+-0.0315 4.1059+-0.0534 int-or-other-abs-zero-then-get-by-val 15.3881+-0.2796 ? 15.8994+-0.6066 ? might be 1.0332x slower int-or-other-add-then-get-by-val 4.0050+-0.0489 ? 4.0164+-0.0690 ? int-or-other-add 4.8683+-0.1430 4.8402+-0.0835 int-or-other-div-then-get-by-val 3.7682+-0.1695 3.7101+-0.0604 might be 1.0157x faster int-or-other-max-then-get-by-val 3.7732+-0.2554 3.6704+-0.0625 might be 1.0280x faster int-or-other-min-then-get-by-val 3.7868+-0.1326 ? 3.9592+-0.3517 ? might be 1.0455x slower int-or-other-mod-then-get-by-val 3.4373+-0.0887 3.4022+-0.0720 might be 1.0103x faster int-or-other-mul-then-get-by-val 3.6821+-0.1142 3.5548+-0.0658 might be 1.0358x faster int-or-other-neg-then-get-by-val 3.8489+-0.1359 3.8436+-0.0720 int-or-other-neg-zero-then-get-by-val 15.8160+-0.7994 15.4628+-0.3901 might be 1.0228x faster int-or-other-sub-then-get-by-val 4.0068+-0.0981 ? 4.1253+-0.3380 ? might be 1.0296x slower int-or-other-sub 3.4825+-0.1581 3.4044+-0.0672 might be 1.0230x faster int-overflow-local 4.0118+-0.1176 3.9870+-0.1654 Int16Array-alloc-long-lived 45.6920+-1.1620 45.3901+-1.0210 Int16Array-bubble-sort-with-byteLength 17.6686+-0.3675 17.6182+-0.5017 Int16Array-bubble-sort 17.1415+-0.1852 ? 17.1865+-0.2930 ? Int16Array-load-int-mul 1.4357+-0.0683 ? 1.4499+-0.1016 ? Int16Array-to-Int32Array-set 50.6220+-12.4769 43.5085+-0.7382 might be 1.1635x faster Int32Array-alloc-large 12.4779+-1.2624 12.1513+-1.2193 might be 1.0269x faster Int32Array-alloc-long-lived 54.4000+-1.5313 54.1312+-1.5420 Int32Array-alloc 3.0352+-0.4627 2.9090+-0.2720 might be 1.0434x faster Int32Array-Int8Array-view-alloc 5.7556+-0.1449 ? 5.8423+-0.1958 ? might be 1.0151x slower int52-spill 4.6087+-0.2536 4.4922+-0.1018 might be 1.0260x faster Int8Array-alloc-long-lived 41.1161+-1.2832 40.6923+-0.8692 might be 1.0104x faster Int8Array-load-with-byteLength 3.3266+-0.0365 ? 3.3863+-0.1169 ? might be 1.0179x slower Int8Array-load 3.4375+-0.2055 3.3525+-0.0652 might be 1.0254x faster integer-divide 10.7954+-0.6818 10.2606+-0.1274 might be 1.0521x faster integer-modulo 1.5630+-0.0755 1.5480+-0.0510 is-boolean-fold-tricky 3.6224+-0.1062 ? 3.7165+-0.1661 ? might be 1.0260x slower is-boolean-fold 2.6616+-0.1475 2.6122+-0.0682 might be 1.0189x faster is-function-fold-tricky-internal-function 9.5793+-0.1668 9.3134+-0.1321 might be 1.0286x faster is-function-fold-tricky 3.8374+-0.2645 3.7154+-0.1403 might be 1.0328x faster is-function-fold 2.6512+-0.0653 ? 2.6809+-0.1608 ? might be 1.0112x slower is-number-fold-tricky 3.8241+-0.2321 3.6876+-0.1227 might be 1.0370x faster is-number-fold 2.5970+-0.0440 ? 2.6640+-0.0843 ? might be 1.0258x slower is-object-or-null-fold-functions 2.6386+-0.0605 ? 2.6454+-0.0457 ? is-object-or-null-fold-less-tricky 3.7747+-0.2259 3.7179+-0.0557 might be 1.0153x faster is-object-or-null-fold-tricky 4.5104+-0.0914 ? 4.5293+-0.1082 ? is-object-or-null-fold 2.8333+-0.4589 2.6258+-0.0328 might be 1.0790x faster is-object-or-null-trickier-function 3.7187+-0.0719 ? 3.8453+-0.2567 ? might be 1.0340x slower is-object-or-null-trickier-internal-function 9.6839+-0.2076 ? 9.6940+-0.1389 ? is-object-or-null-tricky-function 3.7452+-0.0801 ? 3.7516+-0.0939 ? is-object-or-null-tricky-internal-function 7.1822+-0.1116 7.1157+-0.1481 is-string-fold-tricky 3.6486+-0.0718 3.5973+-0.0481 might be 1.0143x faster is-string-fold 2.6184+-0.0618 ? 2.6796+-0.0897 ? might be 1.0234x slower is-undefined-fold-tricky 2.9072+-0.1598 2.8615+-0.1107 might be 1.0159x faster is-undefined-fold 2.6366+-0.0754 2.5746+-0.0209 might be 1.0241x faster JSONP-negative-0 0.2380+-0.0040 ? 0.3056+-0.1067 ? might be 1.2843x slower large-int-captured 4.1045+-0.9727 3.7734+-0.1155 might be 1.0877x faster large-int-neg 13.9702+-0.1796 ? 14.1418+-0.7259 ? might be 1.0123x slower large-int 12.8852+-0.3242 ? 12.9666+-0.2748 ? load-varargs-elimination 20.3480+-0.6112 ? 20.7635+-0.3261 ? might be 1.0204x slower logical-not-weird-types 2.7179+-0.0479 ? 2.7510+-0.0951 ? might be 1.0122x slower logical-not 3.8920+-0.0547 ? 4.0002+-0.2939 ? might be 1.0278x slower lots-of-fields 9.3494+-0.1274 ? 10.3649+-1.7395 ? might be 1.1086x slower make-indexed-storage 2.8821+-0.1525 2.8536+-0.4239 make-rope-cse 3.6508+-0.2403 3.5075+-0.0674 might be 1.0409x faster marsaglia-larger-ints 31.9343+-1.3760 ? 31.9791+-1.0809 ? marsaglia-osr-entry 22.1472+-1.0943 ? 22.4791+-3.0135 ? might be 1.0150x slower math-with-out-of-bounds-array-values 21.8161+-0.8167 ? 21.8749+-0.9444 ? max-boolean 2.7807+-0.3808 2.6505+-0.0480 might be 1.0491x faster method-on-number 17.2164+-2.2094 15.4277+-0.2691 might be 1.1159x faster min-boolean 2.7562+-0.2577 2.5584+-0.0340 might be 1.0773x faster minus-boolean-double 3.0160+-0.0189 ? 3.0590+-0.0427 ? might be 1.0142x slower minus-boolean 2.2678+-0.0298 ? 2.2952+-0.0387 ? might be 1.0121x slower misc-strict-eq 28.4737+-1.7722 ? 28.6067+-1.3041 ? mod-boolean-double 11.0491+-0.1602 10.9573+-0.1229 mod-boolean 8.2972+-0.1113 ? 8.3018+-0.0891 ? mul-boolean-double 3.5985+-0.0498 ? 3.6270+-0.1214 ? mul-boolean 2.8008+-0.0666 2.7683+-0.0436 might be 1.0117x faster neg-boolean 3.1441+-0.1944 3.1008+-0.0539 might be 1.0140x faster negative-zero-divide 0.3523+-0.0353 ? 0.3549+-0.0228 ? negative-zero-modulo 0.4113+-0.1240 0.3493+-0.0337 might be 1.1776x faster negative-zero-negate 0.3415+-0.0449 0.3288+-0.0261 might be 1.0386x faster nested-function-parsing 44.3345+-0.8263 ? 45.5682+-1.1106 ? might be 1.0278x slower new-array-buffer-dead 87.7375+-0.8206 87.2340+-1.0464 new-array-buffer-push 6.1875+-0.3809 ? 6.3391+-0.9277 ? might be 1.0245x slower new-array-dead 14.8191+-0.8110 ? 14.8205+-0.7386 ? new-array-push 3.4410+-0.1590 ? 3.4770+-0.2104 ? might be 1.0105x slower no-inline-constructor 31.7367+-0.4626 ? 32.4794+-1.0435 ? might be 1.0234x slower number-test 2.8553+-0.1065 ? 3.0160+-0.3782 ? might be 1.0563x slower object-closure-call 5.0945+-0.0563 ? 5.2056+-0.1795 ? might be 1.0218x slower object-get-own-property-symbols-on-large-array 4.5193+-0.6527 4.0438+-0.3824 might be 1.1176x faster object-test 2.6530+-0.0581 ? 2.6895+-0.0622 ? might be 1.0138x slower obvious-sink-pathology-taken 98.3307+-1.5084 ? 98.6554+-1.1401 ? obvious-sink-pathology 93.8503+-1.1103 92.8861+-0.5569 might be 1.0104x faster obviously-elidable-new-object 29.2933+-0.9432 28.4508+-0.7370 might be 1.0296x faster plus-boolean-arith 2.4329+-0.1650 2.3434+-0.0209 might be 1.0382x faster plus-boolean-double 3.1344+-0.1270 ? 3.2020+-0.2899 ? might be 1.0216x slower plus-boolean 2.5030+-0.0538 2.5013+-0.0654 poly-chain-access-different-prototypes-simple 3.3664+-0.2717 3.3345+-0.2798 poly-chain-access-different-prototypes 3.2012+-0.0295 ? 3.2585+-0.0983 ? might be 1.0179x slower poly-chain-access-simpler 3.2217+-0.1246 3.1535+-0.0310 might be 1.0216x faster poly-chain-access 3.3464+-0.2609 3.2619+-0.1610 might be 1.0259x faster poly-stricteq 50.1261+-0.8206 ? 50.3582+-0.5919 ? polymorphic-array-call 1.2453+-0.1595 1.2164+-0.0800 might be 1.0238x faster polymorphic-get-by-id 2.7491+-0.0449 ? 2.8780+-0.1845 ? might be 1.0469x slower polymorphic-put-by-id 24.6327+-0.2289 ? 24.8433+-1.2012 ? polymorphic-put-by-val-with-string 25.7642+-1.4507 25.6039+-1.0167 polymorphic-put-by-val-with-symbol 25.2238+-0.5645 ? 25.3792+-1.0865 ? polymorphic-structure 13.4286+-0.6397 13.2437+-0.6444 might be 1.0140x faster polyvariant-monomorphic-get-by-id 6.6642+-0.9352 ? 6.7480+-1.0824 ? might be 1.0126x slower proto-getter-access 8.1956+-0.1779 ? 8.4639+-0.2608 ? might be 1.0327x slower prototype-access-with-mutating-prototype 5.4463+-0.2250 ? 5.4849+-0.1424 ? put-by-id-replace-and-transition 8.3470+-0.6431 ? 8.4067+-1.4253 ? put-by-id-slightly-polymorphic 2.6134+-0.0779 2.5991+-0.0488 put-by-id 9.9897+-1.1121 ? 10.1182+-0.6661 ? might be 1.0129x slower put-by-val-direct 0.3370+-0.0394 0.3352+-0.0228 put-by-val-large-index-blank-indexing-type 5.9132+-0.8146 5.1871+-0.2023 might be 1.1400x faster put-by-val-machine-int 2.3630+-0.2355 2.3077+-0.0829 might be 1.0240x faster put-by-val-with-string-replace-and-transition 10.0197+-0.3254 ? 10.1697+-0.6714 ? might be 1.0150x slower put-by-val-with-string-slightly-polymorphic 2.8242+-0.0405 ? 2.8911+-0.0693 ? might be 1.0237x slower put-by-val-with-string 10.2750+-0.4799 10.1710+-0.5203 might be 1.0102x faster put-by-val-with-symbol-replace-and-transition 12.2489+-0.8344 11.7116+-0.4374 might be 1.0459x faster put-by-val-with-symbol-slightly-polymorphic 3.1060+-0.0587 ? 3.4219+-0.7583 ? might be 1.1017x slower put-by-val-with-symbol 10.2694+-0.4185 ? 10.4487+-0.4112 ? might be 1.0175x slower rare-osr-exit-on-local 13.5717+-0.3632 ? 13.7021+-0.3261 ? register-pressure-from-osr 16.2939+-0.4390 ? 17.2846+-1.7085 ? might be 1.0608x slower repeat-multi-get-by-offset 21.6574+-1.1838 21.0075+-0.3269 might be 1.0309x faster setter-prototype 7.6958+-0.2260 7.5585+-0.1461 might be 1.0182x faster setter 5.7505+-0.7239 5.5753+-0.4994 might be 1.0314x faster simple-activation-demo 23.9023+-0.4441 ? 24.2215+-0.5743 ? might be 1.0134x slower simple-getter-access 10.7457+-0.3137 10.5964+-0.2586 might be 1.0141x faster simple-poly-call-nested 8.9685+-1.3059 8.7814+-0.8480 might be 1.0213x faster simple-poly-call 1.1389+-0.0453 1.1166+-0.0328 might be 1.0200x faster sin-boolean 21.7480+-1.2674 20.3142+-1.3501 might be 1.0706x faster singleton-scope 55.1099+-0.8382 54.9195+-0.6087 sink-function 10.1716+-0.5670 10.1632+-0.3951 sink-huge-activation 15.9024+-0.7131 ? 16.1247+-0.6395 ? might be 1.0140x slower sinkable-new-object-dag 54.2794+-1.3855 ? 54.3561+-1.2753 ? sinkable-new-object-taken 43.7048+-1.0954 ? 43.7879+-1.2932 ? sinkable-new-object 30.0263+-0.8088 29.7226+-0.4836 might be 1.0102x faster slow-array-profile-convergence 2.3774+-0.0806 ? 2.6172+-0.4518 ? might be 1.1008x slower slow-convergence 2.2733+-0.0412 2.2718+-0.0631 slow-ternaries 18.4531+-1.9379 17.4775+-0.6061 might be 1.0558x faster sorting-benchmark 16.5804+-0.4327 16.4934+-0.3867 sparse-conditional 1.1826+-0.0826 1.1149+-0.0164 might be 1.0608x faster splice-to-remove 11.9371+-0.3655 ? 12.1714+-0.3821 ? might be 1.0196x slower string-char-code-at 13.8755+-2.8630 12.8182+-0.2922 might be 1.0825x faster string-concat-object 2.0398+-0.0802 ? 2.3593+-0.3571 ? might be 1.1566x slower string-concat-pair-object 2.1407+-0.2056 2.0580+-0.1123 might be 1.0402x faster string-concat-pair-simple 9.2674+-0.4857 ? 9.4358+-0.7215 ? might be 1.0182x slower string-concat-simple 9.1733+-0.2774 ? 9.6783+-0.6220 ? might be 1.0550x slower string-cons-repeat 6.5412+-0.4303 6.4195+-0.3278 might be 1.0190x faster string-cons-tower 6.4439+-0.3132 ? 6.6282+-0.5196 ? might be 1.0286x slower string-equality 16.1851+-0.6499 15.7958+-0.1130 might be 1.0246x faster string-get-by-val-big-char 6.8514+-0.4912 6.4098+-0.1255 might be 1.0689x faster string-get-by-val-out-of-bounds-insane 3.1483+-0.2861 3.1373+-0.2134 string-get-by-val-out-of-bounds 3.9964+-0.1935 3.9848+-0.1630 string-get-by-val 2.7995+-0.0781 2.7870+-0.0344 string-hash 1.7771+-0.0226 ? 1.8603+-0.2046 ? might be 1.0468x slower string-long-ident-equality 13.2354+-0.3478 ? 13.7582+-1.0854 ? might be 1.0395x slower string-out-of-bounds 10.0214+-0.2503 9.9827+-0.4171 string-repeat-arith 27.3039+-0.7036 26.9096+-1.4117 might be 1.0147x faster string-sub 53.6321+-1.1090 ? 53.9219+-1.9462 ? string-test 2.7948+-0.1274 2.6911+-0.0332 might be 1.0385x faster string-var-equality 25.2072+-0.8543 ? 26.3851+-2.4297 ? might be 1.0467x slower structure-hoist-over-transitions 2.4009+-0.0658 ? 2.4189+-0.1928 ? substring-concat-weird 36.0738+-1.2031 ? 36.3018+-1.3822 ? substring-concat 40.0097+-2.0765 38.9571+-0.7037 might be 1.0270x faster substring 44.1476+-0.4309 ? 45.7411+-1.4203 ? might be 1.0361x slower switch-char-constant 2.6172+-0.0661 ? 2.7012+-0.0975 ? might be 1.0321x slower switch-char 5.6482+-0.8699 ? 6.5563+-0.6682 ? might be 1.1608x slower switch-constant 8.7357+-1.2588 8.6404+-1.2730 might be 1.0110x faster switch-string-basic-big-var 13.3171+-0.1142 ? 13.4101+-0.3736 ? switch-string-basic-big 13.5023+-0.2411 ? 13.8960+-0.8392 ? might be 1.0292x slower switch-string-basic-var 12.8708+-0.2712 12.7399+-0.2541 might be 1.0103x faster switch-string-basic 12.4057+-0.1252 12.3356+-0.1669 switch-string-big-length-tower-var 18.3257+-0.5378 17.5830+-0.2554 might be 1.0422x faster switch-string-length-tower-var 13.0743+-0.2756 ? 13.1812+-0.1985 ? switch-string-length-tower 11.5832+-0.1363 ? 11.8043+-0.3853 ? might be 1.0191x slower switch-string-short 12.0515+-0.4165 11.5815+-0.1401 might be 1.0406x faster switch 11.0510+-0.8841 ? 11.4981+-0.4440 ? might be 1.0405x slower tear-off-arguments-simple 3.0772+-0.2398 2.9292+-0.0957 might be 1.0505x faster tear-off-arguments 3.8278+-0.1129 ? 3.9418+-0.1264 ? might be 1.0298x slower temporal-structure 11.8443+-0.3279 ? 11.9132+-0.5497 ? to-int32-boolean 12.5741+-0.2013 ? 12.6585+-0.2949 ? try-catch-get-by-val-cloned-arguments 13.6839+-0.5082 ? 13.9601+-0.9697 ? might be 1.0202x slower try-catch-get-by-val-direct-arguments 6.1542+-0.2616 ? 6.2585+-0.1264 ? might be 1.0169x slower try-catch-get-by-val-scoped-arguments 7.6532+-0.5057 7.6352+-0.2034 typed-array-get-set-by-val-profiling 26.9847+-0.3928 26.8849+-0.3476 undefined-property-access 225.5723+-3.0227 224.2493+-0.4558 undefined-test 2.8291+-0.0324 ? 2.9000+-0.0929 ? might be 1.0250x slower unprofiled-licm 13.7433+-0.3378 ? 13.9528+-0.5580 ? might be 1.0152x slower varargs-call 12.7847+-0.7211 12.3330+-0.2728 might be 1.0366x faster varargs-construct-inline 21.5039+-0.5106 21.1734+-0.2770 might be 1.0156x faster varargs-construct 19.1659+-0.5693 ? 21.1384+-3.5898 ? might be 1.1029x slower varargs-inline 7.9114+-0.2007 ? 7.9919+-0.2497 ? might be 1.0102x slower varargs-strict-mode 8.9602+-0.2506 8.9019+-0.2668 varargs 8.7968+-0.1456 ? 8.9271+-0.6168 ? might be 1.0148x slower weird-inlining-const-prop 1.9386+-0.1159 1.9189+-0.0887 might be 1.0102x faster <geometric> 7.7543+-0.0288 7.7523+-0.0263 might be 1.0003x faster TipOfTree NoStubInStub AsmBench: bigfib.cpp 454.1935+-6.4864 452.8967+-6.4647 cray.c 398.2944+-2.2690 ? 402.0842+-4.5037 ? dry.c 420.7325+-7.3774 417.3525+-6.7837 FloatMM.c 705.9966+-59.9653 681.8494+-1.7858 might be 1.0354x faster gcc-loops.cpp 3423.7545+-19.1061 3422.4970+-11.8776 n-body.c 821.5052+-1.4668 ? 827.5035+-14.0945 ? Quicksort.c 406.5280+-2.5285 ? 407.4174+-3.1800 ? stepanov_container.cpp 3547.8995+-33.0294 ? 3571.2049+-42.5410 ? Towers.c 234.1122+-2.3480 ? 235.4392+-1.4346 ? <geometric> 718.2303+-5.4128 717.2642+-1.2833 might be 1.0013x faster TipOfTree NoStubInStub CompressionBench: huffman 58.6598+-0.9493 ? 58.8304+-0.6572 ? arithmetic-simple 273.9241+-3.9503 271.8717+-2.0837 arithmetic-precise 246.1349+-2.2732 ? 248.0147+-9.5232 ? arithmetic-complex-precise 241.7490+-1.5686 ? 242.3736+-4.2951 ? arithmetic-precise-order-0 282.8118+-3.6383 ? 305.7766+-61.7634 ? might be 1.0812x slower arithmetic-precise-order-1 306.8177+-3.8570 303.2917+-1.6130 might be 1.0116x faster arithmetic-precise-order-2 353.7976+-3.7365 353.7888+-2.3924 arithmetic-simple-order-1 328.5646+-2.6661 327.4148+-1.4363 arithmetic-simple-order-2 389.5813+-7.8463 387.2141+-8.1394 lz-string 316.1637+-5.1090 309.2635+-1.9350 might be 1.0223x faster <geometric> 255.5304+-1.0285 ? 256.1746+-4.6340 ? might be 1.0025x slower TipOfTree NoStubInStub Geomean of preferred means: <scaled-result> 51.0399+-0.2206 ? 51.0427+-0.1813 ? might be 1.0001x slower
Filip Pizlo
Comment 2 2015-09-06 14:28:22 PDT
Created attachment 260718 [details] the patch
Mark Lam
Comment 3 2015-09-08 10:01:59 PDT
Comment on attachment 260718 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=260718&action=review r=me > Source/JavaScriptCore/tests/stress/poly-call-stub-in-getter-stub.js:37 > +var o = Object.create(p); > +o.__defineGetter__("f", makeGetter()); > +doBadThings = true; > +var result = foo(o); > +if (result != 43) > + throw "Error: bad result at end: " + result; Do these need to be exercised on the the baseline JIT and LLINT?
Filip Pizlo
Comment 4 2015-09-08 10:24:05 PDT
(In reply to comment #3) > Comment on attachment 260718 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=260718&action=review > > r=me > > > Source/JavaScriptCore/tests/stress/poly-call-stub-in-getter-stub.js:37 > > +var o = Object.create(p); > > +o.__defineGetter__("f", makeGetter()); > > +doBadThings = true; > > +var result = foo(o); > > +if (result != 43) > > + throw "Error: bad result at end: " + result; > > Do these need to be exercised on the the baseline JIT and LLINT? Definitely not in the LLInt since the LLInt doesn't use these inline caches. As for the baseline JIT, the behavior is the same as in the DFG/FTL, so it doesn't matter if the test runs in baseline or not.
Filip Pizlo
Comment 5 2015-09-08 10:26:02 PDT
Filip Pizlo
Comment 6 2015-09-08 11:17:38 PDT
Note You need to log in before you can comment on or make changes to this bug.