RESOLVED FIXED 150217
CopyBarrier must be avoided for slow TypedArrays
https://bugs.webkit.org/show_bug.cgi?id=150217
Summary CopyBarrier must be avoided for slow TypedArrays
Filip Pizlo
Reported 2015-10-15 17:45:58 PDT
Otherwise, we might mask off meaningful bits from a misaligned array buffer view.
Attachments
work in progress (23.95 KB, patch)
2015-10-15 17:48 PDT, Filip Pizlo
no flags
possibly the patch (24.35 KB, patch)
2015-10-15 19:00 PDT, Filip Pizlo
no flags
the patch (24.38 KB, patch)
2015-10-15 19:55 PDT, Filip Pizlo
msaboff: review+
Filip Pizlo
Comment 1 2015-10-15 17:48:55 PDT
Created attachment 263233 [details] work in progress
Filip Pizlo
Comment 2 2015-10-15 19:00:11 PDT
Created attachment 263237 [details] possibly the patch Still need to get perf numbers.
Filip Pizlo
Comment 3 2015-10-15 19:52:24 PDT
Benchmark results: 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 (r191150) "FixTypedArrays" at /Volumes/Data/quinary/OpenSource/WebKitBuild/Release/jsc (r191150) Collected 6 samples per benchmark/VM, with 6 VM invocations per benchmark. Emitted a call to gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds. TipOfTree FixTypedArrays SunSpider: 3d-cube 4.6755+-0.2353 ? 4.9148+-0.5279 ? might be 1.0512x slower 3d-morph 5.2251+-0.3436 ? 5.3367+-0.2868 ? might be 1.0214x slower 3d-raytrace 5.5302+-0.5715 5.2257+-0.0543 might be 1.0583x faster access-binary-trees 2.1560+-0.1302 ? 2.1934+-0.1051 ? might be 1.0173x slower access-fannkuch 5.6290+-0.4100 ? 5.8903+-0.3274 ? might be 1.0464x slower access-nbody 2.5275+-0.0426 ? 2.5425+-0.0923 ? access-nsieve 3.0275+-0.0375 ? 3.0943+-0.0932 ? might be 1.0220x slower bitops-3bit-bits-in-byte 1.1802+-0.0359 ? 1.2301+-0.1513 ? might be 1.0423x slower bitops-bits-in-byte 3.2180+-0.0588 3.1814+-0.0523 might be 1.0115x faster bitops-bitwise-and 1.9767+-0.0181 ? 2.1115+-0.1652 ? might be 1.0682x slower bitops-nsieve-bits 3.0428+-0.1914 2.9195+-0.0230 might be 1.0422x faster controlflow-recursive 2.3852+-0.1565 2.2863+-0.0896 might be 1.0432x faster crypto-aes 3.9926+-0.0887 ? 4.0430+-0.1019 ? might be 1.0126x slower crypto-md5 2.5622+-0.1803 2.5070+-0.0764 might be 1.0220x faster crypto-sha1 2.6265+-0.3373 2.4711+-0.2968 might be 1.0629x faster date-format-tofte 6.6436+-0.2660 ? 7.6729+-2.2058 ? might be 1.1549x slower date-format-xparb 4.5071+-0.1115 ? 4.6256+-0.1342 ? might be 1.0263x slower math-cordic 2.7818+-0.0271 ? 2.8073+-0.1170 ? math-partial-sums 4.8037+-0.1364 ? 4.8821+-0.2613 ? might be 1.0163x slower math-spectral-norm 2.0853+-0.3126 1.9560+-0.0645 might be 1.0661x faster regexp-dna 6.4709+-0.2139 ? 6.4905+-0.2507 ? string-base64 4.2061+-0.1009 ? 4.4519+-0.2666 ? might be 1.0585x slower string-fasta 5.9454+-0.1654 ? 5.9999+-0.3431 ? string-tagcloud 7.9501+-0.2019 ? 7.9545+-0.0691 ? string-unpack-code 18.0295+-0.7721 ? 18.5337+-0.4147 ? might be 1.0280x slower string-validate-input 4.4038+-0.0915 ? 4.4644+-0.1122 ? might be 1.0138x slower <arithmetic> 4.5224+-0.0684 ? 4.6072+-0.0653 ? might be 1.0187x slower TipOfTree FixTypedArrays LongSpider: 3d-cube 807.1036+-14.0869 ? 825.0665+-50.9591 ? might be 1.0223x slower 3d-morph 1499.8871+-14.4827 1492.9699+-8.6575 3d-raytrace 603.2103+-4.1717 601.5254+-5.6974 access-binary-trees 792.3374+-7.2602 788.8332+-6.2210 access-fannkuch 297.4191+-9.6032 296.4521+-3.9305 access-nbody 511.7415+-3.0577 ? 512.5752+-3.6732 ? access-nsieve 379.9121+-13.6370 374.9701+-11.5504 might be 1.0132x faster bitops-3bit-bits-in-byte 34.8275+-1.2653 33.7395+-0.4662 might be 1.0322x faster bitops-bits-in-byte 75.0439+-1.4819 74.4906+-1.3788 bitops-nsieve-bits 402.9231+-4.1815 ? 403.0334+-4.8600 ? controlflow-recursive 431.5387+-10.0061 ? 437.9056+-7.3039 ? might be 1.0148x slower crypto-aes 559.1340+-21.1240 556.3987+-3.4591 crypto-md5 444.6400+-2.5304 ? 446.9867+-4.0705 ? crypto-sha1 661.9819+-2.8787 658.6925+-6.2881 date-format-tofte 512.7638+-12.4225 ? 526.3571+-21.7182 ? might be 1.0265x slower date-format-xparb 656.5649+-9.6052 ? 676.9935+-28.3754 ? might be 1.0311x slower hash-map 149.5555+-2.5221 ? 149.8626+-1.8073 ? math-cordic 480.2701+-2.9266 480.1611+-3.0649 math-partial-sums 457.5940+-1.2293 455.8293+-0.6430 math-spectral-norm 564.4707+-26.1051 553.1013+-6.6362 might be 1.0206x faster string-base64 367.7028+-14.7161 ? 375.3308+-10.9197 ? might be 1.0207x slower string-fasta 352.9664+-3.0575 ? 354.6510+-1.1583 ? string-tagcloud 174.5825+-1.5840 173.6661+-1.3829 <geometric> 388.1600+-0.6611 ? 388.5217+-1.0541 ? might be 1.0009x slower TipOfTree FixTypedArrays V8Spider: crypto 50.1512+-1.3285 49.5296+-2.0599 might be 1.0125x faster deltablue 76.8331+-4.6441 76.2441+-4.5515 earley-boyer 42.6030+-2.6555 41.4417+-1.1466 might be 1.0280x faster raytrace 29.8745+-1.9163 29.4311+-1.5741 might be 1.0151x faster regexp 62.7691+-2.3527 62.3043+-1.1201 richards 53.8949+-0.9630 53.0202+-0.7027 might be 1.0165x faster splay 37.6031+-1.3839 37.1698+-1.8386 might be 1.0117x faster <geometric> 48.3841+-0.8278 47.7206+-0.9101 might be 1.0139x faster TipOfTree FixTypedArrays Octane: encrypt 0.15567+-0.00374 ? 0.15789+-0.00514 ? might be 1.0143x slower decrypt 2.88251+-0.04043 2.88237+-0.03601 deltablue x2 0.13776+-0.00155 ? 0.14206+-0.01011 ? might be 1.0312x slower earley 0.28496+-0.00241 ? 0.28549+-0.00358 ? boyer 4.41317+-0.17591 4.33869+-0.06195 might be 1.0172x faster navier-stokes x2 4.85244+-0.02176 4.83762+-0.01474 raytrace x2 0.85604+-0.00361 ? 0.85931+-0.00483 ? richards x2 0.08714+-0.00028 0.08686+-0.00065 splay x2 0.34587+-0.00392 ? 0.35032+-0.00387 ? might be 1.0129x slower regexp x2 24.52530+-0.51657 24.38166+-0.66761 pdfjs x2 37.67234+-0.50416 ^ 36.86837+-0.18267 ^ definitely 1.0218x faster mandreel x2 42.58950+-0.21413 ? 42.61987+-0.48653 ? gbemu x2 32.00740+-0.32114 ? 32.88997+-2.55039 ? might be 1.0276x slower closure 0.57335+-0.00233 ? 0.57566+-0.00248 ? jquery 7.25789+-0.05985 ? 7.33945+-0.08677 ? might be 1.0112x slower box2d x2 9.25104+-0.05717 9.23557+-0.06538 zlib x2 384.83218+-12.18124 ? 394.52463+-8.55038 ? might be 1.0252x slower typescript x2 669.45247+-3.25393 668.29834+-14.33074 <geometric> 5.32835+-0.01033 ? 5.35214+-0.05011 ? might be 1.0045x slower TipOfTree FixTypedArrays Kraken: ai-astar 127.208+-1.931 ? 134.933+-15.354 ? might be 1.0607x slower audio-beat-detection 48.265+-0.202 48.206+-0.339 audio-dft 95.513+-1.726 ? 96.343+-2.564 ? audio-fft 35.419+-0.582 34.954+-0.232 might be 1.0133x faster audio-oscillator 57.540+-1.038 ? 57.863+-1.351 ? imaging-darkroom 60.736+-2.086 60.545+-2.052 imaging-desaturate 48.031+-0.379 ? 49.193+-2.656 ? might be 1.0242x slower imaging-gaussian-blur 87.103+-0.837 ? 87.196+-0.716 ? json-parse-financial 38.287+-2.143 ? 39.499+-1.105 ? might be 1.0317x slower json-stringify-tinderbox 22.814+-1.172 22.455+-0.577 might be 1.0160x faster stanford-crypto-aes 42.204+-1.662 42.017+-1.134 stanford-crypto-ccm 37.143+-1.362 36.720+-1.588 might be 1.0115x faster stanford-crypto-pbkdf2 95.887+-1.203 ? 96.917+-2.984 ? might be 1.0107x slower stanford-crypto-sha256-iterative 36.303+-0.303 ? 36.315+-0.936 ? <arithmetic> 59.461+-0.274 ? 60.225+-1.039 ? might be 1.0129x slower TipOfTree FixTypedArrays JSRegress: abc-forward-loop-equal 31.0927+-1.9296 29.8762+-0.5329 might be 1.0407x faster abc-postfix-backward-loop 29.9893+-1.0076 29.7627+-1.3935 abc-simple-backward-loop 30.4796+-1.2833 29.4466+-0.6556 might be 1.0351x faster abc-simple-forward-loop 29.7594+-0.7295 ? 30.4085+-2.2949 ? might be 1.0218x slower abc-skippy-loop 22.1582+-1.2899 21.9531+-0.7308 abs-boolean 2.4873+-0.1003 2.4866+-0.0982 adapt-to-double-divide 17.3431+-1.2898 16.8473+-0.7329 might be 1.0294x faster aliased-arguments-getbyval 1.3196+-0.1024 1.2140+-0.0679 might be 1.0870x faster allocate-big-object 2.4339+-0.2178 2.4143+-0.2139 arguments-named-and-reflective 10.7690+-0.6431 10.6882+-0.4090 arguments-out-of-bounds 9.4322+-0.2263 ? 9.5230+-0.3845 ? arguments-strict-mode 9.6622+-0.4029 ? 9.7098+-0.4942 ? arguments 8.3950+-0.1056 8.2901+-0.2182 might be 1.0127x faster arity-mismatch-inlining 0.8798+-0.0505 0.8552+-0.0168 might be 1.0287x faster array-access-polymorphic-structure 7.0806+-0.4019 ? 7.3749+-0.4838 ? might be 1.0416x slower array-nonarray-polymorhpic-access 24.3443+-0.4147 ? 24.6886+-0.2575 ? might be 1.0141x slower array-prototype-every 77.8590+-2.4816 75.5841+-1.5885 might be 1.0301x faster array-prototype-forEach 78.9625+-7.3875 75.3428+-2.4010 might be 1.0480x faster array-prototype-map 82.4921+-1.4967 ? 83.0734+-2.2950 ? array-prototype-reduce 73.1525+-1.6652 71.7512+-1.0850 might be 1.0195x faster array-prototype-reduceRight 71.9115+-1.7057 ? 72.0090+-1.2505 ? array-prototype-some 77.0450+-3.0661 76.3105+-2.3869 array-splice-contiguous 23.7245+-0.7259 ? 23.8662+-0.6740 ? array-with-double-add 3.7537+-0.1437 3.6162+-0.0692 might be 1.0380x faster array-with-double-increment 3.1456+-0.0555 ? 3.2147+-0.1382 ? might be 1.0220x slower array-with-double-mul-add 4.4718+-0.0814 ? 4.5636+-0.3012 ? might be 1.0205x slower array-with-double-sum 3.2773+-0.2085 3.2044+-0.0626 might be 1.0227x faster array-with-int32-add-sub 6.4082+-0.3506 6.2344+-0.0758 might be 1.0279x faster array-with-int32-or-double-sum 3.2937+-0.1209 3.2572+-0.0167 might be 1.0112x faster ArrayBuffer-DataView-alloc-large-long-lived 25.2486+-0.3291 ? 26.5835+-1.8787 ? might be 1.0529x slower ArrayBuffer-DataView-alloc-long-lived 12.2546+-0.9133 11.7771+-0.3538 might be 1.0405x faster ArrayBuffer-Int32Array-byteOffset 3.6260+-0.1436 3.5179+-0.0807 might be 1.0307x faster ArrayBuffer-Int8Array-alloc-large-long-lived 26.3239+-1.4210 ? 26.6003+-1.1463 ? might be 1.0105x slower ArrayBuffer-Int8Array-alloc-long-lived-buffer 19.6241+-0.5554 19.4623+-0.4262 ArrayBuffer-Int8Array-alloc-long-lived 11.5064+-0.5558 ? 11.5287+-0.9831 ? ArrayBuffer-Int8Array-alloc 9.9383+-0.9913 9.7600+-0.5465 might be 1.0183x faster arrowfunction-call 11.0581+-0.3122 10.7692+-0.2540 might be 1.0268x faster asmjs_bool_bug 8.0190+-0.1103 ? 8.0400+-0.1240 ? assign-custom-setter-polymorphic 2.4292+-0.0340 2.4204+-0.0260 assign-custom-setter 3.4403+-0.2009 ? 3.6208+-0.6266 ? might be 1.0525x slower basic-set 7.5606+-0.5460 ? 7.5678+-0.5027 ? big-int-mul 3.5603+-0.1883 3.4512+-0.0696 might be 1.0316x faster boolean-test 3.1439+-0.0543 3.0585+-0.0589 might be 1.0279x faster branch-fold 3.6268+-0.0644 ? 3.6636+-0.1897 ? might be 1.0102x slower branch-on-string-as-boolean 18.1233+-1.3416 16.8998+-0.3129 might be 1.0724x faster by-val-generic 2.4035+-0.0813 ? 2.5402+-0.2906 ? might be 1.0569x slower call-spread-apply 29.0624+-2.5099 27.3295+-0.6675 might be 1.0634x faster call-spread-call 22.5938+-1.1307 ? 23.1843+-0.9583 ? might be 1.0261x slower captured-assignments 0.4434+-0.0186 ? 0.4492+-0.0253 ? might be 1.0131x slower cast-int-to-double 5.1336+-0.1009 ? 5.2716+-0.2613 ? might be 1.0269x slower cell-argument 5.8134+-0.2399 ? 5.9707+-0.1681 ? might be 1.0271x slower cfg-simplify 2.8882+-0.0797 ? 2.9320+-0.1201 ? might be 1.0151x slower chain-getter-access 8.3837+-0.2364 ? 8.5754+-0.7095 ? might be 1.0229x slower cmpeq-obj-to-obj-other 13.3990+-0.5344 12.3402+-1.3015 might be 1.0858x faster constant-test 4.7842+-0.0784 ? 4.9994+-0.4603 ? might be 1.0450x slower create-lots-of-functions 9.8050+-0.5512 ? 10.2470+-0.7445 ? might be 1.0451x slower cse-new-array-buffer 2.4255+-0.2998 2.2566+-0.0800 might be 1.0748x faster cse-new-array 2.4021+-0.0843 2.3833+-0.0634 custom-setter-getter-as-put-get-by-id 0.5149+-0.0138 ? 0.5311+-0.0482 ? might be 1.0316x slower DataView-custom-properties 31.7720+-0.9919 30.6098+-0.4949 might be 1.0380x faster delay-tear-off-arguments-strictmode 13.8116+-1.3775 12.8873+-0.4010 might be 1.0717x faster deltablue-varargs 167.1303+-8.8122 164.4567+-3.5430 might be 1.0163x faster destructuring-arguments 161.9123+-2.6871 ? 162.4801+-5.5176 ? destructuring-parameters-overridden-by-function 0.4661+-0.0096 ? 0.5470+-0.1659 ? might be 1.1736x slower destructuring-swap 4.7025+-0.0456 ? 4.7719+-0.0581 ? might be 1.0148x slower direct-arguments-getbyval 1.2814+-0.0778 1.1964+-0.0808 might be 1.0710x faster div-boolean-double 5.3061+-0.1289 ? 5.3101+-0.1646 ? div-boolean 8.1257+-0.0453 ? 8.2454+-0.2545 ? might be 1.0147x slower double-get-by-val-out-of-bounds 4.4421+-0.2499 4.3992+-0.1226 double-pollution-getbyval 8.4325+-0.2384 ? 8.5347+-0.2260 ? might be 1.0121x slower double-pollution-putbyoffset 3.6669+-0.0499 ? 3.7161+-0.1595 ? might be 1.0134x slower double-real-use 25.4960+-2.6154 25.4238+-1.9654 double-to-int32-typed-array-no-inline 2.2325+-0.0952 2.2005+-0.0387 might be 1.0146x faster double-to-int32-typed-array 2.1437+-0.1479 2.1234+-0.0729 double-to-uint32-typed-array-no-inline 2.3052+-0.0416 ? 2.4191+-0.2895 ? might be 1.0494x slower double-to-uint32-typed-array 2.1281+-0.0862 2.0841+-0.0590 might be 1.0211x faster elidable-new-object-dag 33.6698+-0.5494 ? 34.3348+-0.7559 ? might be 1.0197x slower elidable-new-object-roflcopter 34.0736+-2.7862 33.4689+-2.0238 might be 1.0181x faster elidable-new-object-then-call 31.4364+-0.5026 ? 32.5750+-2.1314 ? might be 1.0362x slower elidable-new-object-tree 38.5257+-2.2479 37.3382+-0.6333 might be 1.0318x faster empty-string-plus-int 4.8053+-0.1762 4.7284+-0.1769 might be 1.0163x faster emscripten-cube2hash 28.6513+-1.5792 27.1165+-2.1451 might be 1.0566x faster exit-length-on-plain-object 16.5004+-1.6742 15.6743+-0.8383 might be 1.0527x faster external-arguments-getbyval 1.3432+-0.1115 ? 1.3445+-0.1715 ? external-arguments-putbyval 2.1862+-0.0586 ? 2.2974+-0.1205 ? might be 1.0509x slower fixed-typed-array-storage-var-index 1.2632+-0.0355 ? 1.2925+-0.0743 ? might be 1.0232x slower fixed-typed-array-storage 0.9705+-0.0571 0.9385+-0.0430 might be 1.0340x faster Float32Array-matrix-mult 4.2920+-0.1829 ? 4.3029+-0.0718 ? Float32Array-to-Float64Array-set 55.7461+-1.4968 ? 56.0960+-1.2790 ? Float64Array-alloc-long-lived 63.3628+-3.2052 62.6022+-5.3707 might be 1.0121x faster Float64Array-to-Int16Array-set 68.0363+-3.0724 66.1285+-1.2798 might be 1.0289x faster fold-double-to-int 12.5230+-0.5195 12.4101+-0.0307 fold-get-by-id-to-multi-get-by-offset-rare-int 10.8395+-0.8643 10.4779+-1.6876 might be 1.0345x faster fold-get-by-id-to-multi-get-by-offset 9.6016+-0.4957 ? 10.0576+-1.5550 ? might be 1.0475x slower fold-multi-get-by-offset-to-get-by-offset 9.3087+-0.7359 ? 9.5105+-3.2947 ? might be 1.0217x slower fold-multi-get-by-offset-to-poly-get-by-offset 8.6207+-1.9752 8.2169+-1.4230 might be 1.0491x faster fold-multi-put-by-offset-to-poly-put-by-offset 9.3075+-1.1972 ? 9.9071+-0.9441 ? might be 1.0644x slower fold-multi-put-by-offset-to-put-by-offset 10.4509+-1.0130 10.0514+-0.6803 might be 1.0398x faster fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 9.5518+-0.5165 ? 10.0827+-0.8402 ? might be 1.0556x slower fold-put-by-id-to-multi-put-by-offset 11.3182+-1.4073 10.3466+-0.6027 might be 1.0939x faster fold-put-by-val-with-string-to-multi-put-by-offset 10.7965+-0.3594 10.3021+-1.1569 might be 1.0480x faster fold-put-by-val-with-symbol-to-multi-put-by-offset 11.3555+-1.1772 ? 11.4647+-2.2769 ? fold-put-structure 7.8201+-1.2063 ? 8.3320+-0.2853 ? might be 1.0655x slower for-of-iterate-array-entries 10.9705+-0.1045 10.8724+-0.2832 for-of-iterate-array-keys 3.4368+-0.1113 ? 3.4732+-0.0802 ? might be 1.0106x slower for-of-iterate-array-values 3.3634+-0.0830 ? 3.4400+-0.1054 ? might be 1.0228x slower fround 17.6005+-0.2331 ? 18.3544+-0.6875 ? might be 1.0428x slower ftl-library-inlining-dataview 58.4534+-0.8219 57.5145+-1.0322 might be 1.0163x faster ftl-library-inlining 97.2646+-1.5214 ? 97.3380+-2.2384 ? function-call 10.9799+-0.5515 10.9279+-0.2273 function-dot-apply 2.1121+-0.2604 2.0664+-0.1306 might be 1.0221x faster function-test 2.7017+-0.0390 ? 2.7150+-0.0545 ? function-with-eval 84.8234+-2.3168 83.3398+-2.0072 might be 1.0178x faster gcse-poly-get-less-obvious 22.0080+-0.8781 21.8831+-1.0476 gcse-poly-get 23.4668+-2.5892 23.2593+-2.3710 gcse 3.4080+-0.0960 ? 3.4190+-0.0849 ? get-by-id-bimorphic-check-structure-elimination-simple 2.8289+-0.5400 2.6041+-0.0621 might be 1.0863x faster get-by-id-bimorphic-check-structure-elimination 4.7952+-0.2644 ? 4.8009+-0.1696 ? get-by-id-chain-from-try-block 2.4097+-0.0515 2.4037+-0.0400 get-by-id-check-structure-elimination 4.0038+-0.1874 3.8947+-0.0579 might be 1.0280x faster get-by-id-proto-or-self 16.8782+-1.2671 ? 17.3020+-2.0487 ? might be 1.0251x slower get-by-id-quadmorphic-check-structure-elimination-simple 3.1760+-0.6887 2.8711+-0.0090 might be 1.1062x faster get-by-id-self-or-proto 16.3996+-1.0600 ? 16.9084+-1.7665 ? might be 1.0310x slower get-by-val-out-of-bounds 4.2660+-0.1604 ? 4.3388+-0.1782 ? might be 1.0171x slower get-by-val-with-string-bimorphic-check-structure-elimination-simple 2.7282+-0.0632 ? 2.7510+-0.0676 ? get-by-val-with-string-bimorphic-check-structure-elimination 6.2389+-0.2556 6.1148+-0.1447 might be 1.0203x faster get-by-val-with-string-chain-from-try-block 2.4500+-0.0781 ? 2.5061+-0.1189 ? might be 1.0229x slower get-by-val-with-string-check-structure-elimination 5.8942+-0.5540 5.7714+-0.3206 might be 1.0213x faster get-by-val-with-string-proto-or-self 17.3044+-1.4453 17.0768+-1.2327 might be 1.0133x faster get-by-val-with-string-quadmorphic-check-structure-elimination-simple 3.2170+-0.2174 3.0653+-0.0382 might be 1.0495x faster get-by-val-with-string-self-or-proto 16.0715+-0.9508 ? 17.9040+-1.3271 ? might be 1.1140x slower get-by-val-with-symbol-bimorphic-check-structure-elimination-simple 2.9622+-0.0775 ? 3.0072+-0.1894 ? might be 1.0152x slower get-by-val-with-symbol-bimorphic-check-structure-elimination 12.3483+-0.0782 ? 12.5448+-0.3215 ? might be 1.0159x slower get-by-val-with-symbol-chain-from-try-block 2.4094+-0.0212 2.4017+-0.0236 get-by-val-with-symbol-check-structure-elimination 11.5970+-0.1611 11.3781+-0.1142 might be 1.0192x faster get-by-val-with-symbol-proto-or-self 17.8220+-1.9411 ? 19.6051+-5.9143 ? might be 1.1001x slower get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple 3.9483+-0.4281 3.7843+-0.1692 might be 1.0433x faster get-by-val-with-symbol-self-or-proto 16.8226+-0.9041 ? 16.8480+-0.9508 ? get_callee_monomorphic 2.3410+-0.0956 ? 2.3663+-0.1303 ? might be 1.0108x slower get_callee_polymorphic 3.3159+-0.0954 ? 3.3712+-0.1915 ? might be 1.0167x slower getter-no-activation 4.6759+-0.0375 ? 4.7959+-0.2713 ? might be 1.0257x slower getter-prototype 8.1947+-0.4088 8.0652+-0.3090 might be 1.0161x faster getter-richards-try-catch 992.7869+-13.4064 ? 994.5620+-30.1986 ? getter-richards 116.1336+-5.8495 ? 116.1407+-10.6008 ? getter 6.2823+-0.6527 6.0592+-0.8015 might be 1.0368x faster global-object-access-with-mutating-structure 5.7669+-0.2197 5.5824+-0.1345 might be 1.0330x faster global-var-const-infer-fire-from-opt 0.8110+-0.2501 0.7299+-0.0712 might be 1.1110x faster global-var-const-infer 0.6270+-0.0043 ? 0.7387+-0.2649 ? might be 1.1781x slower hard-overflow-check-equal 27.8706+-1.4336 26.9848+-0.8886 might be 1.0328x faster hard-overflow-check 28.6785+-5.4685 26.7874+-1.1787 might be 1.0706x faster HashMap-put-get-iterate-keys 25.3370+-2.0624 ? 25.3493+-1.9561 ? HashMap-put-get-iterate 28.1456+-1.6107 26.9978+-0.8372 might be 1.0425x faster HashMap-string-put-get-iterate 23.5836+-1.2954 ? 23.6125+-0.8809 ? hoist-make-rope 9.4350+-0.9535 8.2667+-0.7252 might be 1.1413x faster hoist-poly-check-structure-effectful-loop 3.7502+-0.1988 3.6750+-0.1192 might be 1.0205x faster hoist-poly-check-structure 3.0741+-0.0639 ? 3.0768+-0.0861 ? imul-double-only 7.9147+-0.3148 7.6329+-0.4657 might be 1.0369x faster imul-int-only 8.3127+-1.1536 ? 8.7782+-0.8526 ? might be 1.0560x slower imul-mixed 6.6013+-0.4838 ? 7.2727+-0.5756 ? might be 1.1017x slower in-four-cases 18.5927+-0.1814 18.5143+-0.5769 in-one-case-false 10.2596+-0.3963 ? 10.3009+-0.5120 ? in-one-case-true 10.2393+-0.3506 ? 11.2048+-1.2044 ? might be 1.0943x slower in-two-cases 10.9005+-0.4330 10.3783+-0.1683 might be 1.0503x faster indexed-properties-in-objects 2.8714+-0.1031 2.8083+-0.0547 might be 1.0225x faster infer-closure-const-then-mov-no-inline 3.7791+-0.3221 3.5868+-0.0664 might be 1.0536x faster infer-closure-const-then-mov 16.5603+-0.8124 ? 16.6721+-0.8106 ? infer-closure-const-then-put-to-scope-no-inline 11.1938+-0.4561 ? 11.4203+-0.5590 ? might be 1.0202x slower infer-closure-const-then-put-to-scope 22.9852+-0.3947 ? 23.8832+-2.2957 ? might be 1.0391x slower infer-closure-const-then-reenter-no-inline 48.9607+-2.1837 48.6713+-0.9288 infer-closure-const-then-reenter 23.0061+-0.6219 ? 23.3152+-0.9227 ? might be 1.0134x slower infer-constant-global-property 3.4694+-0.1063 ? 3.5272+-0.3112 ? might be 1.0167x slower infer-constant-property 2.6419+-0.0466 ? 2.6423+-0.1264 ? infer-one-time-closure-ten-vars 7.8046+-0.2471 ? 8.1130+-0.6076 ? might be 1.0395x slower infer-one-time-closure-two-vars 7.5980+-0.4516 7.2353+-0.1869 might be 1.0501x faster infer-one-time-closure 7.5259+-0.8189 ? 7.6914+-0.5581 ? might be 1.0220x slower infer-one-time-deep-closure 10.9885+-0.7923 10.8795+-0.4877 might be 1.0100x faster inline-arguments-access 3.5878+-0.0832 3.5158+-0.0434 might be 1.0205x faster inline-arguments-aliased-access 3.7395+-0.2848 3.6331+-0.0945 might be 1.0293x faster inline-arguments-local-escape 3.6153+-0.1084 ? 3.7188+-0.1852 ? might be 1.0286x slower inline-get-scoped-var 4.5223+-0.1339 ? 4.6993+-0.2849 ? might be 1.0391x slower inlined-put-by-id-transition 9.4242+-0.3242 9.2286+-0.3719 might be 1.0212x faster inlined-put-by-val-with-string-transition 43.5955+-2.8156 ^ 39.9722+-0.7901 ^ definitely 1.0906x faster inlined-put-by-val-with-symbol-transition 42.6478+-1.0417 41.5377+-3.3960 might be 1.0267x faster int-or-other-abs-then-get-by-val 4.5490+-0.1577 4.4775+-0.1037 might be 1.0160x faster int-or-other-abs-zero-then-get-by-val 16.6730+-1.6883 15.9936+-0.7787 might be 1.0425x faster int-or-other-add-then-get-by-val 4.2308+-0.1003 ? 4.2711+-0.0891 ? int-or-other-add 5.0546+-0.2264 4.9940+-0.2037 might be 1.0121x faster int-or-other-div-then-get-by-val 3.9037+-0.2919 3.8580+-0.1952 might be 1.0118x faster int-or-other-max-then-get-by-val 4.0508+-0.3075 3.8774+-0.0959 might be 1.0447x faster int-or-other-min-then-get-by-val 3.8597+-0.1128 ? 3.9283+-0.1265 ? might be 1.0178x slower int-or-other-mod-then-get-by-val 3.6749+-0.0462 3.6688+-0.0846 int-or-other-mul-then-get-by-val 3.6091+-0.0824 ? 3.6178+-0.0942 ? int-or-other-neg-then-get-by-val 4.1997+-0.1435 4.1973+-0.0362 int-or-other-neg-zero-then-get-by-val 15.8937+-0.4966 15.6053+-0.3247 might be 1.0185x faster int-or-other-sub-then-get-by-val 4.1460+-0.0725 ? 4.1923+-0.1202 ? might be 1.0112x slower int-or-other-sub 3.6641+-0.4615 3.4844+-0.1123 might be 1.0516x faster int-overflow-local 4.1543+-0.0838 ? 4.1646+-0.0853 ? Int16Array-alloc-long-lived 44.3691+-1.9770 ? 45.2637+-2.7784 ? might be 1.0202x slower Int16Array-bubble-sort-with-byteLength 19.2190+-0.7877 ! 21.9874+-1.0321 ! definitely 1.1440x slower Int16Array-bubble-sort 17.5399+-0.3147 ! 22.6990+-1.2413 ! definitely 1.2941x slower Int16Array-load-int-mul 1.5055+-0.0895 1.5015+-0.1256 Int16Array-to-Int32Array-set 53.9383+-1.2035 ? 54.8022+-3.3360 ? might be 1.0160x slower Int32Array-alloc-large 12.3273+-0.4767 ? 13.2561+-0.8981 ? might be 1.0753x slower Int32Array-alloc-long-lived 50.1804+-1.4181 ? 50.5647+-1.3398 ? Int32Array-alloc 3.1170+-0.3787 3.0968+-0.2491 Int32Array-Int8Array-view-alloc 6.0201+-0.1471 ? 6.0294+-0.1489 ? int52-spill 4.5867+-0.1860 ? 4.7198+-0.3061 ? might be 1.0290x slower Int8Array-alloc-long-lived 39.7928+-1.2493 39.6075+-1.0681 Int8Array-load-with-byteLength 3.5017+-0.1700 3.4180+-0.0576 might be 1.0245x faster Int8Array-load 3.4460+-0.0644 3.3787+-0.0478 might be 1.0199x faster integer-divide 10.3551+-0.0867 ? 10.5255+-0.2332 ? might be 1.0165x slower integer-modulo 1.6243+-0.0432 ? 1.6278+-0.0446 ? is-boolean-fold-tricky 3.9016+-0.2756 3.7879+-0.0816 might be 1.0300x faster is-boolean-fold 2.8711+-0.4946 2.6576+-0.0593 might be 1.0804x faster is-function-fold-tricky-internal-function 9.8294+-0.6242 9.5801+-0.4122 might be 1.0260x faster is-function-fold-tricky 4.0274+-0.0938 ? 4.1469+-0.1147 ? might be 1.0297x slower is-function-fold 2.7547+-0.1353 2.6627+-0.0347 might be 1.0346x faster is-number-fold-tricky 3.9329+-0.0798 3.9097+-0.0630 is-number-fold 2.7143+-0.0734 ? 2.8186+-0.3826 ? might be 1.0384x slower is-object-or-null-fold-functions 2.7126+-0.0583 2.6912+-0.0366 is-object-or-null-fold-less-tricky 4.1460+-0.2714 ? 4.2613+-0.3908 ? might be 1.0278x slower is-object-or-null-fold-tricky 4.8401+-0.1279 4.8169+-0.1193 is-object-or-null-fold 2.7273+-0.0925 2.7024+-0.0413 is-object-or-null-trickier-function 4.0023+-0.0763 ? 4.0451+-0.0488 ? might be 1.0107x slower is-object-or-null-trickier-internal-function 9.7083+-0.0716 ! 9.9345+-0.0495 ! definitely 1.0233x slower is-object-or-null-tricky-function 4.0051+-0.0829 ? 4.0870+-0.1287 ? might be 1.0204x slower is-object-or-null-tricky-internal-function 7.4683+-0.1166 ? 7.5951+-0.5935 ? might be 1.0170x slower is-string-fold-tricky 3.9449+-0.0405 ? 4.0000+-0.1293 ? might be 1.0140x slower is-string-fold 2.7402+-0.0527 ? 2.7572+-0.1848 ? is-undefined-fold-tricky 3.3676+-0.0999 ? 3.4154+-0.1357 ? might be 1.0142x slower is-undefined-fold 2.6436+-0.0340 ? 2.8532+-0.4918 ? might be 1.0793x slower JSONP-negative-0 0.2601+-0.0067 ? 0.2671+-0.0153 ? might be 1.0269x slower large-int-captured 4.0829+-0.1604 ? 4.1488+-0.1531 ? might be 1.0161x slower large-int-neg 13.9969+-0.4780 ? 14.3792+-0.4035 ? might be 1.0273x slower large-int 12.9623+-0.4696 12.7332+-0.1913 might be 1.0180x faster load-varargs-elimination 21.1470+-0.9345 ? 21.9924+-2.1536 ? might be 1.0400x slower logical-not-weird-types 3.2255+-0.3228 3.0785+-0.0607 might be 1.0478x faster logical-not 4.4348+-0.2300 4.3525+-0.0961 might be 1.0189x faster lots-of-fields 9.6707+-0.5069 9.5348+-0.4361 might be 1.0142x faster make-indexed-storage 2.8672+-0.1111 2.8136+-0.1091 might be 1.0191x faster make-rope-cse 3.7703+-0.5333 3.5830+-0.2371 might be 1.0523x faster marsaglia-larger-ints 32.7215+-0.8256 31.7130+-0.6451 might be 1.0318x faster marsaglia-osr-entry 22.0717+-1.0383 21.3654+-0.4778 might be 1.0331x faster math-with-out-of-bounds-array-values 22.5090+-0.7910 22.3395+-1.9997 max-boolean 2.6957+-0.0857 2.5842+-0.0480 might be 1.0432x faster method-on-number 15.6602+-0.3764 ? 15.6711+-0.2982 ? min-boolean 2.5663+-0.0180 ? 2.6998+-0.1228 ? might be 1.0520x slower minus-boolean-double 3.0898+-0.0515 3.0670+-0.0349 minus-boolean 2.3418+-0.0500 ? 2.3499+-0.0270 ? misc-strict-eq 29.4897+-1.8717 29.4255+-1.1191 mod-boolean-double 11.0142+-0.1260 ? 11.0843+-0.3174 ? mod-boolean 8.2898+-0.1463 ? 8.3278+-0.1250 ? mul-boolean-double 3.6007+-0.0193 ? 3.7164+-0.2623 ? might be 1.0321x slower mul-boolean 2.8538+-0.1283 2.8204+-0.0515 might be 1.0118x faster neg-boolean 3.1006+-0.0397 ? 3.1519+-0.1557 ? might be 1.0165x slower negative-zero-divide 0.3603+-0.0271 0.3539+-0.0130 might be 1.0181x faster negative-zero-modulo 0.3595+-0.0472 0.3451+-0.0255 might be 1.0419x faster negative-zero-negate 0.3956+-0.1745 0.3726+-0.1178 might be 1.0617x faster nested-function-parsing 45.4869+-1.1094 45.3610+-0.6013 new-array-buffer-dead 86.5184+-1.0162 ? 87.0897+-1.5186 ? new-array-buffer-push 6.1712+-0.4178 ? 6.7629+-1.3450 ? might be 1.0959x slower new-array-dead 14.6422+-0.6460 ? 15.0940+-1.2980 ? might be 1.0309x slower new-array-push 4.1853+-0.5005 ? 4.4191+-0.3164 ? might be 1.0559x slower no-inline-constructor 30.3115+-0.1857 ? 30.8079+-0.7586 ? might be 1.0164x slower number-test 3.0863+-0.1049 3.0660+-0.0517 object-closure-call 4.9685+-0.3475 4.9170+-0.1655 might be 1.0105x faster object-get-own-property-symbols-on-large-array 4.1582+-0.2319 ? 4.9455+-1.6857 ? might be 1.1893x slower object-test 2.7819+-0.1201 2.7814+-0.1848 obvious-sink-pathology-taken 97.3273+-2.6316 96.2664+-0.5799 might be 1.0110x faster obvious-sink-pathology 29.8297+-1.0041 29.2858+-0.2103 might be 1.0186x faster obviously-elidable-new-object 29.5202+-1.3468 28.5475+-0.7236 might be 1.0341x faster plus-boolean-arith 2.3905+-0.0429 ? 2.4235+-0.0678 ? might be 1.0138x slower plus-boolean-double 3.1105+-0.0875 3.1048+-0.0546 plus-boolean 2.5422+-0.0533 ? 2.5684+-0.0326 ? might be 1.0103x slower poly-chain-access-different-prototypes-simple 2.5789+-0.0633 2.5733+-0.0480 poly-chain-access-different-prototypes 2.5759+-0.1077 2.5445+-0.0254 might be 1.0124x faster poly-chain-access-simpler 2.6742+-0.1467 2.5953+-0.0620 might be 1.0304x faster poly-chain-access 2.5953+-0.0945 2.5551+-0.0609 might be 1.0158x faster poly-stricteq 53.3066+-0.8642 ? 54.0068+-0.9026 ? might be 1.0131x slower polymorphic-array-call 1.3609+-0.2843 1.3099+-0.0674 might be 1.0390x faster polymorphic-get-by-id 3.0155+-0.1405 ? 3.0264+-0.3663 ? polymorphic-put-by-id 28.3276+-1.1037 27.8229+-2.0446 might be 1.0181x faster polymorphic-put-by-val-with-string 28.6014+-1.5058 ? 28.9659+-1.2040 ? might be 1.0127x slower polymorphic-put-by-val-with-symbol 28.9093+-1.7676 ? 30.0766+-1.4747 ? might be 1.0404x slower polymorphic-structure 12.3825+-0.2076 ? 12.4467+-0.2354 ? polyvariant-monomorphic-get-by-id 6.5904+-1.3639 6.3175+-1.0490 might be 1.0432x faster proto-getter-access 8.3752+-0.1309 ? 8.4305+-0.4739 ? prototype-access-with-mutating-prototype 5.5090+-0.2489 5.4708+-0.2002 put-by-id-replace-and-transition 7.7155+-0.6916 ? 7.9016+-0.1337 ? might be 1.0241x slower put-by-id-slightly-polymorphic 2.7266+-0.1373 ? 2.7805+-0.1213 ? might be 1.0198x slower put-by-id 9.8710+-0.6053 ? 10.3940+-0.6286 ? might be 1.0530x slower put-by-val-direct 0.4257+-0.1020 0.3604+-0.0271 might be 1.1811x faster put-by-val-large-index-blank-indexing-type 5.2903+-0.2986 ? 5.5057+-0.2220 ? might be 1.0407x slower put-by-val-machine-int 2.5803+-0.2059 ? 2.6082+-0.0445 ? might be 1.0108x slower put-by-val-with-string-replace-and-transition 10.0514+-0.2223 ? 10.1804+-0.2622 ? might be 1.0128x slower put-by-val-with-string-slightly-polymorphic 2.9986+-0.0760 ? 3.0892+-0.2253 ? might be 1.0302x slower put-by-val-with-string 10.7861+-0.8985 10.1041+-0.3579 might be 1.0675x faster put-by-val-with-symbol-replace-and-transition 11.8815+-0.8467 ? 12.2748+-0.9716 ? might be 1.0331x slower put-by-val-with-symbol-slightly-polymorphic 3.1875+-0.1314 ? 3.2053+-0.1127 ? put-by-val-with-symbol 10.6102+-0.5622 ? 11.3527+-1.6864 ? might be 1.0700x slower rare-osr-exit-on-local 13.9960+-0.5574 13.7491+-0.1790 might be 1.0180x faster raytrace-with-empty-try-catch 5.1869+-0.0991 ? 5.2808+-0.2137 ? might be 1.0181x slower raytrace-with-try-catch 10.6875+-1.9143 9.8283+-0.1595 might be 1.0874x faster register-pressure-from-osr 16.6332+-0.4665 ? 16.7360+-0.9802 ? repeat-multi-get-by-offset 21.8057+-0.3584 ? 21.8926+-0.3818 ? richards-empty-try-catch 74.3780+-5.3041 71.9070+-0.8755 might be 1.0344x faster richards-try-catch 239.3179+-3.5609 239.0817+-2.6214 setter-prototype 7.6549+-0.1719 ? 7.8158+-0.2220 ? might be 1.0210x slower setter 5.7700+-0.6307 ? 5.9686+-0.5573 ? might be 1.0344x slower simple-activation-demo 25.3677+-2.4201 23.9065+-0.4862 might be 1.0611x faster simple-getter-access 10.7190+-0.1445 ? 10.8053+-0.3692 ? simple-poly-call-nested 8.9128+-0.1961 ^ 8.1351+-0.2538 ^ definitely 1.0956x faster simple-poly-call 1.3015+-0.0377 1.2719+-0.0136 might be 1.0233x faster sin-boolean 20.3957+-2.3641 ? 20.4177+-2.0080 ? singleton-scope 64.6046+-0.8147 ? 65.3915+-3.9945 ? might be 1.0122x slower sink-function 10.0085+-0.5826 9.8361+-0.5310 might be 1.0175x faster sink-huge-activation 15.9982+-0.7873 ? 16.0951+-0.9178 ? sinkable-new-object-dag 52.5722+-1.6208 ? 53.9578+-1.3311 ? might be 1.0264x slower sinkable-new-object-taken 42.0554+-2.8651 41.8710+-1.8188 sinkable-new-object 30.3323+-0.9850 29.9370+-1.0771 might be 1.0132x faster slow-array-profile-convergence 2.6786+-0.3899 2.5658+-0.0763 might be 1.0440x faster slow-convergence 2.5324+-0.3700 2.4353+-0.0850 might be 1.0399x faster slow-ternaries 17.9741+-2.0193 ? 18.2394+-0.6936 ? might be 1.0148x slower sorting-benchmark 17.9370+-1.9839 17.3289+-0.8577 might be 1.0351x faster sparse-conditional 1.2079+-0.0887 1.1474+-0.0300 might be 1.0527x faster splice-to-remove 11.9471+-0.1626 ? 12.2808+-0.2354 ? might be 1.0279x slower string-char-code-at 14.0491+-1.8032 13.3432+-0.1386 might be 1.0529x faster string-concat-object 2.0555+-0.0741 ! 2.2218+-0.0765 ! definitely 1.0809x slower string-concat-pair-object 2.1524+-0.0665 ? 2.1763+-0.3326 ? might be 1.0111x slower string-concat-pair-simple 9.2703+-0.8202 ? 9.8757+-0.8698 ? might be 1.0653x slower string-concat-simple 9.2830+-0.4726 ? 9.3847+-0.5806 ? might be 1.0110x slower string-cons-repeat 6.3584+-0.2959 ? 6.3909+-0.1796 ? string-cons-tower 6.7253+-0.2840 ? 6.7628+-0.4403 ? string-equality 18.2227+-0.4993 ? 18.2762+-0.3492 ? string-get-by-val-big-char 6.6605+-0.3269 6.5715+-0.2941 might be 1.0136x faster string-get-by-val-out-of-bounds-insane 3.1292+-0.2463 3.1209+-0.0788 string-get-by-val-out-of-bounds 3.9599+-0.0544 ? 3.9658+-0.1018 ? string-get-by-val 2.9615+-0.3173 2.9000+-0.1865 might be 1.0212x faster string-hash 1.8637+-0.0582 ? 2.0415+-0.4906 ? might be 1.0954x slower string-long-ident-equality 14.9573+-0.2425 ? 17.0123+-4.3041 ? might be 1.1374x slower string-out-of-bounds 10.2200+-0.4328 ? 10.2749+-0.3256 ? string-repeat-arith 27.8573+-1.7793 26.1894+-0.6476 might be 1.0637x faster string-sub 53.8776+-1.7725 53.4518+-1.3816 string-test 3.0089+-0.2012 2.9293+-0.0578 might be 1.0272x faster string-var-equality 27.9538+-1.2092 27.7765+-0.6906 structure-hoist-over-transitions 2.3455+-0.1541 ? 2.3493+-0.0895 ? substring-concat-weird 36.4498+-1.3935 35.2572+-0.6354 might be 1.0338x faster substring-concat 40.0091+-1.3473 39.9498+-0.6150 substring 44.5387+-0.6216 ? 45.8658+-1.9812 ? might be 1.0298x slower switch-char-constant 2.7269+-0.0747 ? 2.8300+-0.2726 ? might be 1.0378x slower switch-char 6.1075+-0.8898 ? 7.2946+-1.0348 ? might be 1.1944x slower switch-constant 8.4682+-1.9924 ? 8.5909+-0.5828 ? might be 1.0145x slower switch-string-basic-big-var 15.4037+-1.0604 14.6535+-0.3735 might be 1.0512x faster switch-string-basic-big 15.6580+-1.0469 15.3359+-0.5397 might be 1.0210x faster switch-string-basic-var 13.9017+-0.4184 13.6331+-0.1605 might be 1.0197x faster switch-string-basic 13.5162+-1.0244 13.0433+-0.3221 might be 1.0363x faster switch-string-big-length-tower-var 17.9424+-0.7651 ? 19.6864+-3.4159 ? might be 1.0972x slower switch-string-length-tower-var 13.5350+-0.3771 13.4826+-0.4590 switch-string-length-tower 11.9269+-0.4415 ? 11.9522+-0.2741 ? switch-string-short 12.0498+-0.2178 11.8941+-0.1424 might be 1.0131x faster switch 11.7178+-0.7366 10.7767+-0.6704 might be 1.0873x faster tear-off-arguments-simple 3.1733+-0.2451 3.1030+-0.2233 might be 1.0227x faster tear-off-arguments 4.1434+-0.3423 4.0858+-0.1514 might be 1.0141x faster temporal-structure 11.8474+-0.1388 ? 11.9392+-0.5749 ? to-int32-boolean 13.1618+-1.3214 12.9657+-0.6678 might be 1.0151x faster try-catch-get-by-val-cloned-arguments 9.2507+-0.0728 ? 9.7059+-0.4841 ? might be 1.0492x slower try-catch-get-by-val-direct-arguments 2.0297+-0.1273 ? 2.1478+-0.0624 ? might be 1.0582x slower try-catch-get-by-val-scoped-arguments 4.5055+-0.1272 ? 4.7029+-0.4568 ? might be 1.0438x slower typed-array-get-set-by-val-profiling 27.3417+-0.9059 27.1536+-1.0229 undefined-property-access 218.5614+-9.1123 216.0439+-3.9517 might be 1.0117x faster undefined-test 3.1117+-0.1214 ? 3.1145+-0.0452 ? unprofiled-licm 9.2321+-0.3206 9.2237+-0.2395 v8-raytrace-with-empty-try-catch 24.1367+-1.1382 ? 24.3754+-0.6670 ? v8-raytrace-with-try-catch 62.4555+-2.1813 61.1191+-1.5280 might be 1.0219x faster varargs-call 13.5537+-0.7236 13.1660+-0.3678 might be 1.0294x faster varargs-construct-inline 22.1469+-0.7822 21.6859+-0.6986 might be 1.0213x faster varargs-construct 20.3550+-0.5962 ? 20.4996+-0.9027 ? varargs-inline 9.0896+-0.3637 9.0470+-0.3395 varargs-strict-mode 10.4887+-1.1153 10.0518+-0.2820 might be 1.0435x faster varargs 9.9513+-0.3653 ? 10.0995+-0.8521 ? might be 1.0149x slower weird-inlining-const-prop 2.4817+-0.6337 2.1095+-0.0539 might be 1.1764x faster <geometric> 8.1025+-0.0187 8.0940+-0.0242 might be 1.0011x faster TipOfTree FixTypedArrays AsmBench: bigfib.cpp 455.6811+-17.9760 451.0170+-8.6408 might be 1.0103x faster cray.c 399.7716+-12.7590 393.4328+-4.0822 might be 1.0161x faster dry.c 418.2099+-7.8111 ? 428.7768+-4.8235 ? might be 1.0253x slower FloatMM.c 683.4253+-3.9365 ? 697.5125+-21.6773 ? might be 1.0206x slower gcc-loops.cpp 3437.7587+-18.4866 3435.3886+-11.2602 n-body.c 825.6740+-3.1108 824.7231+-3.5658 Quicksort.c 410.4412+-3.1251 404.5633+-3.7980 might be 1.0145x faster stepanov_container.cpp 3507.5177+-24.6336 ? 3510.5180+-40.3811 ? Towers.c 233.9105+-2.5730 ? 234.1923+-4.7442 ? <geometric> 716.4165+-5.0675 ? 716.8283+-3.5049 ? might be 1.0006x slower TipOfTree FixTypedArrays CompressionBench: huffman 61.3783+-1.1002 61.2773+-0.9089 arithmetic-simple 275.7478+-2.5129 ? 276.8722+-3.2416 ? arithmetic-precise 260.6422+-8.9025 252.6284+-1.7609 might be 1.0317x faster arithmetic-complex-precise 255.1493+-3.5902 252.1502+-2.4573 might be 1.0119x faster arithmetic-precise-order-0 288.8969+-1.8505 288.2190+-5.3246 arithmetic-precise-order-1 304.6100+-3.8419 ? 307.0992+-5.7264 ? arithmetic-precise-order-2 357.5446+-3.5684 355.9205+-3.6199 arithmetic-simple-order-1 325.6619+-3.2901 324.2571+-2.1061 arithmetic-simple-order-2 374.7574+-7.7205 370.0241+-0.9437 might be 1.0128x faster lz-string 319.6182+-11.5394 ? 321.3376+-14.1132 ? <geometric> 259.4075+-2.2816 258.0886+-1.6328 might be 1.0051x faster TipOfTree FixTypedArrays Geomean of preferred means: <scaled-result> 50.2280+-0.1077 ? 50.3366+-0.2434 ? might be 1.0022x slower
Filip Pizlo
Comment 4 2015-10-15 19:55:01 PDT
Created attachment 263240 [details] the patch
Michael Saboff
Comment 5 2015-10-16 15:42:11 PDT
Comment on attachment 263240 [details] the patch r=me As we discussed, please write a byte offset test as well and include it in the patch.
Filip Pizlo
Comment 6 2015-10-16 15:50:18 PDT
(In reply to comment #5) > Comment on attachment 263240 [details] > the patch > > r=me > As we discussed, please write a byte offset test as well and include it in > the patch. Yup, I added it. Indeed, it fails on trunk.
Filip Pizlo
Comment 7 2015-10-16 15:54:22 PDT
Note You need to log in before you can comment on or make changes to this bug.