RESOLVED FIXED 124951
Finally fix some obvious Bartlett bugs
https://bugs.webkit.org/show_bug.cgi?id=124951
Summary Finally fix some obvious Bartlett bugs
Filip Pizlo
Reported 2013-11-27 15:27:08 PST
The obvious thing to do in a Bartlett collector is to ensure that the part of the stack that is below its current position is all zero. You don't want to do that every time you fiddle with the stack, but you can do it at some key times - GC or OSR entry.
Attachments
the patch (7.65 KB, patch)
2013-11-27 15:30 PST, Filip Pizlo
mhahnenberg: review+
Filip Pizlo
Comment 1 2013-11-27 15:30:59 PST
Created attachment 217970 [details] the patch
Mark Hahnenberg
Comment 2 2013-11-27 16:12:23 PST
Comment on attachment 217970 [details] the patch Very exciting! r=me
Filip Pizlo
Comment 3 2013-11-27 16:19:20 PST
This is perf-neutral if you consider the normal way we do measurements. But as the ChangeLog states, it's a *big deal* for when you breathe on splay in any way. Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, and JSRegress on oldmac (MacPro4,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r159825) "SanitizeStack" at /Volumes/Data/fromMiniMe/tertiary/OpenSource/WebKitBuild/Release/jsc (r159825) 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. TipOfTree SanitizeStack SunSpider: 3d-cube 7.7230+-0.0545 ? 7.7404+-0.1754 ? 3d-morph 8.6507+-0.1028 8.6410+-0.2192 3d-raytrace 8.7073+-0.1923 ? 8.9042+-0.2438 ? might be 1.0226x slower access-binary-trees 2.0042+-0.0260 1.9949+-0.0119 access-fannkuch 7.9470+-0.1004 7.8858+-0.2495 access-nbody 4.2484+-0.0388 ? 4.2705+-0.1325 ? access-nsieve 4.8582+-0.2891 ? 5.0015+-0.1127 ? might be 1.0295x slower bitops-3bit-bits-in-byte 1.8060+-0.0064 ? 1.8087+-0.0100 ? bitops-bits-in-byte 7.2385+-0.3414 ? 7.2862+-0.0597 ? bitops-bitwise-and 2.9542+-0.0317 2.9114+-0.0701 might be 1.0147x faster bitops-nsieve-bits 4.5434+-0.1880 ? 4.6066+-0.0083 ? might be 1.0139x slower controlflow-recursive 3.1380+-0.0469 3.1335+-0.0186 crypto-aes 5.4031+-0.0202 ? 5.4387+-0.0267 ? crypto-md5 3.1416+-0.0498 ? 3.1448+-0.1387 ? crypto-sha1 2.9551+-0.0136 2.9525+-0.0246 date-format-tofte 11.3863+-0.4420 11.2719+-0.1398 might be 1.0102x faster date-format-xparb 8.4910+-0.4816 ? 8.5724+-0.3055 ? math-cordic 4.2089+-0.0196 ? 4.2225+-0.0459 ? math-partial-sums 10.1462+-0.0373 ? 10.2656+-0.1801 ? might be 1.0118x slower math-spectral-norm 2.7340+-0.0629 2.7310+-0.0154 regexp-dna 12.7838+-0.2187 ? 12.9282+-0.1422 ? might be 1.0113x slower string-base64 5.4198+-0.0328 5.4099+-0.0474 string-fasta 10.2063+-0.2705 ? 10.3498+-0.4985 ? might be 1.0141x slower string-tagcloud 14.9371+-0.3454 ? 14.9744+-0.1761 ? string-unpack-code 31.7152+-6.3491 29.7375+-0.1811 might be 1.0665x faster string-validate-input 7.4019+-0.6139 7.0229+-0.1234 might be 1.0540x faster <arithmetic> * 7.4904+-0.2863 7.4310+-0.0476 might be 1.0080x faster <geometric> 5.9652+-0.0741 5.9621+-0.0285 might be 1.0005x faster <harmonic> 4.8689+-0.0261 ? 4.8709+-0.0116 ? might be 1.0004x slower TipOfTree SanitizeStack LongSpider: 3d-cube 2806.7401+-86.6156 ^ 2698.0599+-10.4857 ^ definitely 1.0403x faster 3d-morph 1499.2999+-1.9211 1497.8945+-1.7772 3d-raytrace 1517.3064+-57.6426 1511.6467+-10.5663 access-binary-trees 2244.5419+-94.3897 2185.2230+-12.5940 might be 1.0271x faster access-fannkuch 668.2514+-0.7516 664.6473+-10.8552 access-nbody 1496.2232+-3.0286 1495.6696+-0.5764 access-nsieve 1549.2288+-9.2083 ? 1556.9185+-9.1605 ? bitops-3bit-bits-in-byte 121.2852+-0.2945 ? 121.3745+-0.0974 ? bitops-bits-in-byte 638.9477+-3.4559 637.3329+-2.0107 bitops-nsieve-bits 1046.0585+-2.1467 ? 1046.2405+-1.5613 ? controlflow-recursive 1489.9019+-1.8370 ? 1491.4940+-2.4839 ? crypto-aes 1650.2003+-6.7320 ? 1653.3613+-33.0644 ? crypto-md5 1163.0197+-3.3245 ? 1179.9300+-55.4331 ? might be 1.0145x slower crypto-sha1 1618.0135+-7.2340 1616.7369+-6.5138 date-format-tofte 1190.9562+-41.6368 1173.5876+-40.7106 might be 1.0148x faster date-format-xparb 1472.1722+-59.5402 ? 1483.2620+-50.1133 ? math-cordic 1733.5922+-0.7589 ? 1738.8733+-16.5955 ? math-partial-sums 1322.4847+-44.0024 1309.9805+-3.8920 math-spectral-norm 1825.9061+-0.7341 ? 1827.8899+-6.9929 ? string-base64 512.5270+-25.3596 504.8040+-5.9834 might be 1.0153x faster string-fasta 990.0941+-6.9084 ? 996.3492+-4.9985 ? string-tagcloud 379.4710+-1.1007 ! 382.8420+-1.4078 ! definitely 1.0089x slower <arithmetic> 1315.2828+-11.9232 1307.9145+-4.3235 might be 1.0056x faster <geometric> * 1118.5070+-7.2060 1115.0180+-3.1340 might be 1.0031x faster <harmonic> 801.2235+-3.0972 800.3534+-1.2119 might be 1.0011x faster TipOfTree SanitizeStack V8Spider: crypto 79.7162+-1.3527 79.5633+-0.6875 deltablue 99.1121+-2.5909 98.3615+-2.3015 earley-boyer 71.6380+-2.9120 71.2197+-0.6317 raytrace 39.6763+-0.5814 39.6075+-0.2574 regexp 99.4262+-0.8666 98.7952+-0.6504 richards 133.8400+-2.1225 ? 134.4115+-4.7856 ? splay 46.3669+-3.3185 ? 46.8315+-2.1618 ? might be 1.0100x slower <arithmetic> 81.3965+-0.8572 81.2557+-0.9187 might be 1.0017x faster <geometric> * 75.3909+-1.2004 75.2957+-0.6792 might be 1.0013x faster <harmonic> 69.3599+-1.5275 69.3378+-0.6794 might be 1.0003x faster TipOfTree SanitizeStack Octane and V8v7: encrypt 0.47191+-0.02240 0.46576+-0.00182 might be 1.0132x faster decrypt 8.55898+-0.01126 ? 8.56968+-0.00330 ? deltablue x2 0.56585+-0.01193 0.56433+-0.01090 earley 0.91043+-0.02474 0.91009+-0.03121 boyer 12.23468+-0.07809 ? 12.33902+-0.39410 ? raytrace x2 4.28421+-0.15736 ? 4.31446+-0.13869 ? regexp x2 33.23191+-0.44446 ? 33.51109+-1.42702 ? richards x2 0.42989+-0.04726 ? 0.43751+-0.03279 ? might be 1.0177x slower splay x2 0.63016+-0.00335 ? 0.63453+-0.00715 ? navier-stokes x2 10.93438+-0.00772 ? 10.94351+-0.01781 ? closure 0.42240+-0.00161 ? 0.42352+-0.00260 ? jquery 6.09880+-0.02252 ? 6.28320+-0.44560 ? might be 1.0302x slower gbemu x2 71.88257+-0.46340 ? 72.09858+-0.93748 ? mandreel x2 142.34704+-0.35777 142.26104+-0.36853 pdfjs x2 100.91978+-1.10373 ? 102.02749+-0.86519 ? might be 1.0110x slower box2d x2 35.38358+-0.56139 35.06946+-0.40265 V8v7: <arithmetic> 7.64555+-0.04012 ? 7.69346+-0.18461 ? might be 1.0063x slower <geometric> * 2.51444+-0.05153 ? 2.52596+-0.02897 ? might be 1.0046x slower <harmonic> 1.03249+-0.04411 ? 1.03739+-0.02242 ? might be 1.0047x slower Octane including V8v7: <arithmetic> 31.91984+-0.02604 ? 32.02751+-0.19507 ? might be 1.0034x slower <geometric> * 6.98190+-0.09162 ? 7.01258+-0.06036 ? might be 1.0044x slower <harmonic> 1.43272+-0.05273 ? 1.43943+-0.02569 ? might be 1.0047x slower TipOfTree SanitizeStack Kraken: ai-astar 494.056+-1.260 493.903+-1.120 audio-beat-detection 236.953+-2.367 ? 236.968+-6.440 ? audio-dft 290.770+-3.230 288.893+-1.566 audio-fft 143.037+-0.397 142.779+-0.224 audio-oscillator 247.213+-10.770 243.654+-0.915 might be 1.0146x faster imaging-darkroom 311.918+-79.881 286.077+-2.184 might be 1.0903x faster imaging-desaturate 158.322+-0.337 ? 159.202+-2.684 ? imaging-gaussian-blur 362.702+-0.562 362.677+-0.380 json-parse-financial 81.245+-3.529 80.546+-0.453 json-stringify-tinderbox 103.669+-0.660 ? 105.102+-0.984 ? might be 1.0138x slower stanford-crypto-aes 90.643+-3.035 ? 91.460+-1.108 ? stanford-crypto-ccm 99.730+-4.230 ? 102.807+-2.378 ? might be 1.0309x slower stanford-crypto-pbkdf2 255.925+-1.589 ! 265.479+-2.811 ! definitely 1.0373x slower stanford-crypto-sha256-iterative 114.322+-1.313 ? 114.590+-1.340 ? <arithmetic> * 213.608+-7.308 212.438+-0.382 might be 1.0055x faster <geometric> 183.107+-5.106 182.942+-0.415 might be 1.0009x faster <harmonic> 157.787+-3.619 ? 158.305+-0.419 ? might be 1.0033x slower TipOfTree SanitizeStack JSRegress: adapt-to-double-divide 22.6761+-0.1843 ? 22.7277+-0.2150 ? aliased-arguments-getbyval 0.9590+-0.0068 0.9572+-0.0036 allocate-big-object 2.6200+-0.0122 2.6185+-0.0343 arity-mismatch-inlining 0.9321+-0.0173 0.9168+-0.0064 might be 1.0166x faster array-access-polymorphic-structure 9.8262+-0.0518 9.7321+-0.3313 array-nonarray-polymorhpic-access 56.5706+-1.0879 ? 101.7098+-145.2643 ? might be 1.7979x slower array-with-double-add 5.6855+-0.2141 ? 5.7725+-0.2765 ? might be 1.0153x slower array-with-double-increment 4.3523+-0.0106 4.2546+-0.1891 might be 1.0230x faster array-with-double-mul-add 6.8571+-0.0886 6.8420+-0.0968 array-with-double-sum 8.0270+-0.1411 ? 8.1545+-0.2138 ? might be 1.0159x slower array-with-int32-add-sub 10.3670+-0.2390 ? 10.6257+-0.3305 ? might be 1.0250x slower array-with-int32-or-double-sum 8.0985+-0.0916 7.9429+-0.2041 might be 1.0196x faster ArrayBuffer-DataView-alloc-large-long-lived 119.0945+-1.9709 ? 119.1904+-1.4630 ? ArrayBuffer-DataView-alloc-long-lived 30.2508+-0.7853 ? 30.9540+-0.5879 ? might be 1.0232x slower ArrayBuffer-Int32Array-byteOffset 7.0743+-0.0782 7.0483+-0.0130 ArrayBuffer-Int8Array-alloc-huge-long-lived 214.8141+-2.9588 ? 217.2603+-2.1504 ? might be 1.0114x slower ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented 165.2525+-2.2852 ? 168.0956+-3.3623 ? might be 1.0172x slower ArrayBuffer-Int8Array-alloc-large-long-lived 117.7887+-3.8697 ? 121.0142+-9.3241 ? might be 1.0274x slower ArrayBuffer-Int8Array-alloc-long-lived-buffer 48.9536+-0.3760 ? 49.9091+-1.3377 ? might be 1.0195x slower ArrayBuffer-Int8Array-alloc-long-lived 30.6033+-1.1588 ? 31.1758+-0.6225 ? might be 1.0187x slower ArrayBuffer-Int8Array-alloc 26.5809+-1.1273 ? 27.8334+-1.1767 ? might be 1.0471x slower asmjs_bool_bug 9.4610+-0.1935 ? 9.4893+-0.0768 ? basic-set 21.4275+-0.1409 ? 23.2465+-3.1728 ? might be 1.0849x slower big-int-mul 5.5223+-0.0672 5.4802+-0.0277 boolean-test 4.3268+-0.0108 ? 4.3323+-0.0113 ? branch-fold 4.9551+-0.0204 ? 4.9557+-0.0117 ? cast-int-to-double 12.3935+-0.0265 12.2786+-0.2095 cell-argument 16.2903+-0.8266 16.1346+-1.1303 cfg-simplify 3.9554+-0.0090 3.9503+-0.0102 cmpeq-obj-to-obj-other 13.0160+-1.3198 12.1685+-1.2118 might be 1.0697x faster constant-test 8.7445+-0.1974 ? 8.8486+-0.2228 ? might be 1.0119x slower DataView-custom-properties 124.7344+-2.1113 ? 124.7809+-1.5478 ? delay-tear-off-arguments-strictmode 3.5204+-0.0294 3.5137+-0.0226 destructuring-arguments-length 169.8019+-2.8996 ? 172.4662+-2.9274 ? might be 1.0157x slower destructuring-arguments 8.8872+-0.0566 8.7162+-0.2538 might be 1.0196x faster destructuring-swap 8.5507+-0.1473 ? 8.6375+-0.2695 ? might be 1.0102x slower direct-arguments-getbyval 0.8337+-0.0170 0.8295+-0.0132 double-pollution-getbyval 11.0217+-0.2144 ? 11.0529+-0.0179 ? double-pollution-putbyoffset 5.9985+-0.1666 5.8312+-0.0469 might be 1.0287x faster empty-string-plus-int 10.7546+-0.2373 ? 11.4810+-0.5322 ? might be 1.0675x slower emscripten-cube2hash 50.2189+-0.1002 ? 51.3340+-2.1054 ? might be 1.0222x slower emscripten-memops 8398.7665+-45.0201 8378.7040+-4.5956 external-arguments-getbyval 1.9963+-0.0937 ? 2.0334+-0.0648 ? might be 1.0186x slower external-arguments-putbyval 3.0029+-0.0114 ? 3.0071+-0.0550 ? Float32Array-matrix-mult 6.3350+-0.0534 ? 6.3568+-0.0871 ? Float32Array-to-Float64Array-set 94.8268+-1.9665 ? 95.1838+-4.4005 ? Float64Array-alloc-long-lived 102.9706+-1.4973 ? 103.7778+-0.3447 ? Float64Array-to-Int16Array-set 116.6866+-1.0349 ? 117.3914+-2.2287 ? fold-double-to-int 26.2928+-1.4385 25.7225+-0.6463 might be 1.0222x faster for-of-iterate-array-entries 8.4568+-0.2361 ? 8.6274+-0.0793 ? might be 1.0202x slower for-of-iterate-array-keys 3.4432+-0.1154 ? 3.5779+-0.1962 ? might be 1.0391x slower for-of-iterate-array-values 2.9808+-0.0565 2.9202+-0.1760 might be 1.0208x faster function-dot-apply 3.1213+-0.0172 ? 3.1334+-0.0238 ? function-test 4.7019+-0.0096 ? 4.8082+-0.1179 ? might be 1.0226x slower get-by-id-chain-from-try-block 7.5655+-0.3292 ? 7.6617+-0.4285 ? might be 1.0127x slower get-by-id-proto-or-self 26.3433+-0.8932 25.9992+-0.8525 might be 1.0132x faster get-by-id-self-or-proto 23.7790+-1.3167 23.1949+-1.1073 might be 1.0252x faster get_callee_monomorphic 4.7274+-0.1310 ? 4.7580+-0.3087 ? get_callee_polymorphic 4.4830+-0.0133 ? 4.4961+-0.0593 ? global-var-const-infer-fire-from-opt 0.9385+-0.0173 ? 0.9835+-0.1141 ? might be 1.0479x slower global-var-const-infer 0.7577+-0.0114 ? 0.7605+-0.0112 ? HashMap-put-get-iterate-keys 42.5099+-0.9985 ^ 41.0569+-0.1773 ^ definitely 1.0354x faster HashMap-put-get-iterate 60.5083+-0.5073 ^ 58.5533+-0.6539 ^ definitely 1.0334x faster HashMap-string-put-get-iterate 53.2421+-0.5112 ? 54.1592+-1.1917 ? might be 1.0172x slower imul-double-only 17.7548+-0.0244 17.7485+-0.0305 imul-int-only 14.8425+-0.2189 ? 14.9547+-0.6386 ? imul-mixed 21.8140+-0.0489 21.8065+-0.3436 in-four-cases 25.8678+-0.0634 ? 25.9010+-0.2838 ? in-one-case-false 12.2305+-0.4203 12.1792+-0.2318 in-one-case-true 12.0380+-0.2505 ? 12.0773+-0.1292 ? in-two-cases 12.8657+-0.0300 ? 12.9175+-0.1240 ? indexed-properties-in-objects 4.6668+-0.0090 4.6592+-0.0195 inline-arguments-access 1.6490+-0.1479 1.5955+-0.0129 might be 1.0335x faster inline-arguments-local-escape 22.1605+-0.5924 ? 22.7377+-0.4417 ? might be 1.0260x slower inline-get-scoped-var 6.9720+-0.0590 ? 7.1190+-0.1041 ? might be 1.0211x slower inlined-put-by-id-transition 15.4243+-0.4613 15.2905+-0.7566 int-or-other-abs-then-get-by-val 9.5125+-0.2777 9.4443+-0.1685 int-or-other-abs-zero-then-get-by-val 37.2091+-0.3635 ? 37.6097+-1.3456 ? might be 1.0108x slower int-or-other-add-then-get-by-val 10.5730+-0.2865 10.5381+-0.1830 int-or-other-add 11.0640+-0.2302 10.8519+-0.4276 might be 1.0195x faster int-or-other-div-then-get-by-val 6.3692+-0.0259 ? 6.3795+-0.0361 ? int-or-other-max-then-get-by-val 8.5703+-0.1162 ? 8.6499+-0.2192 ? int-or-other-min-then-get-by-val 6.9445+-0.2575 ? 6.9465+-0.0151 ? int-or-other-mod-then-get-by-val 6.1005+-0.0380 6.0305+-0.1901 might be 1.0116x faster int-or-other-mul-then-get-by-val 6.5635+-0.0482 6.5546+-0.0876 int-or-other-neg-then-get-by-val 7.7587+-0.1869 ? 7.7990+-0.0816 ? int-or-other-neg-zero-then-get-by-val 36.7533+-0.2706 36.6578+-0.3071 int-or-other-sub-then-get-by-val 10.4568+-0.3675 10.4322+-0.3268 int-or-other-sub 8.8213+-0.4299 ? 8.8727+-0.1503 ? int-overflow-local 6.4465+-0.0780 ? 6.4491+-0.0194 ? Int16Array-alloc-long-lived 67.3723+-0.5646 ? 68.1948+-2.9867 ? might be 1.0122x slower Int16Array-bubble-sort-with-byteLength 48.9763+-0.1589 48.9663+-0.0542 Int16Array-bubble-sort 48.2940+-0.1019 ? 49.0585+-2.1741 ? might be 1.0158x slower Int16Array-load-int-mul 1.7964+-0.0078 ? 1.8000+-0.0067 ? Int16Array-to-Int32Array-set 89.7446+-1.8348 ? 89.9037+-0.6393 ? Int32Array-alloc-huge-long-lived 705.1150+-7.3812 ? 705.9944+-6.4014 ? Int32Array-alloc-huge 807.4919+-12.1579 804.1201+-8.0841 Int32Array-alloc-large-long-lived 964.6575+-13.6917 ? 973.4096+-18.3643 ? Int32Array-alloc-large 46.7620+-1.8033 44.9925+-1.8955 might be 1.0393x faster Int32Array-alloc-long-lived 80.1795+-3.2326 ? 80.3215+-0.6973 ? Int32Array-alloc 4.4960+-0.0223 ? 4.5327+-0.1321 ? Int32Array-Int8Array-view-alloc 14.7983+-0.0788 ! 16.0178+-0.2436 ! definitely 1.0824x slower int52-spill 12.2700+-0.3308 ? 12.7814+-0.9555 ? might be 1.0417x slower Int8Array-alloc-long-lived 65.9295+-0.2279 ? 67.2307+-1.7542 ? might be 1.0197x slower Int8Array-load-with-byteLength 4.9925+-0.2184 ? 5.0587+-0.0513 ? might be 1.0133x slower Int8Array-load 4.9506+-0.1879 ? 5.0587+-0.0094 ? might be 1.0218x slower integer-divide 14.9082+-0.2653 14.8150+-0.3540 integer-modulo 2.0034+-0.0181 1.9925+-0.0186 large-int-captured 9.9471+-0.0623 9.8030+-0.5705 might be 1.0147x faster large-int-neg 25.9329+-0.4005 ? 25.9928+-0.4133 ? large-int 23.6075+-0.4182 23.4662+-0.2356 lots-of-fields 11.0015+-0.0883 ? 11.0165+-0.1005 ? make-indexed-storage 4.2234+-0.0431 4.1726+-0.2204 might be 1.0122x faster make-rope-cse 5.9794+-0.2180 5.9040+-0.2063 might be 1.0128x faster marsaglia-larger-ints 111.8631+-0.1544 ! 112.3962+-0.3419 ! definitely 1.0048x slower marsaglia-osr-entry 47.0480+-0.3172 ? 47.0977+-0.2749 ? marsaglia 463.1880+-1.0270 462.9125+-0.8686 method-on-number 30.5444+-0.9219 ? 30.7098+-1.5598 ? negative-zero-divide 0.4042+-0.0058 0.4019+-0.0025 negative-zero-modulo 0.3875+-0.0039 0.3845+-0.0055 negative-zero-negate 0.3693+-0.0035 ? 0.3698+-0.0054 ? nested-function-parsing-random 374.8698+-0.6540 ! 377.7367+-0.4948 ! definitely 1.0076x slower nested-function-parsing 48.7833+-2.8216 48.2692+-0.1946 might be 1.0107x faster new-array-buffer-dead 3.7042+-0.0168 ? 3.7247+-0.0160 ? new-array-buffer-push 10.4852+-0.3921 ? 10.5753+-0.3499 ? new-array-dead 28.4589+-0.3872 ? 28.8066+-1.2496 ? might be 1.0122x slower new-array-push 6.7766+-0.0445 ? 6.8625+-0.0748 ? might be 1.0127x slower number-test 4.2809+-0.0097 ? 4.2986+-0.0362 ? object-closure-call 13.3716+-0.1915 13.2393+-0.0897 object-test 4.7969+-0.0081 ? 4.8110+-0.0804 ? poly-stricteq 77.3371+-4.1868 76.0685+-0.1632 might be 1.0167x faster polymorphic-structure 21.1630+-0.2293 21.0607+-0.1965 polyvariant-monomorphic-get-by-id 11.9323+-0.1812 11.9107+-0.2071 put-by-id 19.3898+-0.8487 ? 19.7475+-0.5507 ? might be 1.0184x slower put-by-val-large-index-blank-indexing-type 10.8073+-0.1507 ! 11.2458+-0.2515 ! definitely 1.0406x slower rare-osr-exit-on-local 20.3249+-0.3044 20.3163+-0.2119 register-pressure-from-osr 31.1304+-0.2271 ? 31.2450+-0.3611 ? simple-activation-demo 35.1943+-0.1757 35.1248+-0.0785 slow-array-profile-convergence 4.0380+-0.0470 4.0275+-0.0287 slow-convergence 4.1888+-0.0161 ? 4.1990+-0.0702 ? sparse-conditional 1.3558+-0.0294 1.3533+-0.0520 splice-to-remove 78.1144+-2.6362 77.0975+-0.5559 might be 1.0132x faster stepanov_container 11439.1393+-33.5908 ? 11590.8589+-483.6340 ? might be 1.0133x slower string-concat-object 2.9948+-0.0235 ? 3.0159+-0.1029 ? string-concat-pair-object 2.9093+-0.0198 2.9024+-0.0321 string-concat-pair-simple 16.8035+-1.0257 16.5202+-0.6809 might be 1.0171x faster string-concat-simple 16.8743+-0.5430 ? 17.3826+-0.3919 ? might be 1.0301x slower string-cons-repeat 10.4990+-0.0518 10.4954+-0.0399 string-cons-tower 11.0181+-0.1350 ? 11.0502+-0.1092 ? string-equality 42.5167+-0.0312 ? 42.8676+-1.3412 ? string-get-by-val-big-char 12.8562+-0.2881 ? 13.3997+-0.8426 ? might be 1.0423x slower string-get-by-val-out-of-bounds-insane 5.8951+-0.4483 5.7405+-0.1072 might be 1.0269x faster string-get-by-val-out-of-bounds 5.2743+-0.1571 ? 5.3145+-0.0155 ? string-get-by-val 4.8933+-0.0145 ? 4.9570+-0.0608 ? might be 1.0130x slower string-hash 2.7545+-0.0586 2.7370+-0.0144 string-long-ident-equality 36.8970+-0.2410 ? 37.0555+-0.1515 ? string-repeat-arith 48.8970+-0.2346 ? 48.9462+-0.7756 ? string-sub 97.6720+-0.3376 ? 98.1032+-1.3132 ? string-test 4.2378+-0.0208 ? 4.3042+-0.1648 ? might be 1.0157x slower string-var-equality 69.8782+-0.0357 ? 70.1060+-0.7802 ? structure-hoist-over-transitions 3.3663+-0.0444 3.3619+-0.0383 switch-char-constant 3.4709+-0.0097 ? 3.4775+-0.0278 ? switch-char 8.0755+-0.2341 ? 8.1138+-0.2646 ? switch-constant 9.1712+-0.3306 ? 9.3649+-0.2260 ? might be 1.0211x slower switch-string-basic-big-var 20.3674+-0.4775 20.3409+-0.1938 switch-string-basic-big 20.7240+-0.5023 ? 20.9143+-0.8527 ? switch-string-basic-var 20.1971+-0.1454 20.0680+-0.1590 switch-string-basic 22.3347+-1.6487 20.8702+-1.8603 might be 1.0702x faster switch-string-big-length-tower-var 28.9253+-0.3226 ? 29.3337+-1.1735 ? might be 1.0141x slower switch-string-length-tower-var 21.5057+-0.3215 ? 21.5545+-0.1275 ? switch-string-length-tower 16.4064+-0.3100 ? 16.8286+-0.7790 ? might be 1.0257x slower switch-string-short 16.5114+-0.2045 ? 16.5701+-0.8218 ? switch 16.0359+-0.7271 15.4680+-0.3210 might be 1.0367x faster tear-off-arguments-simple 2.2060+-0.0146 2.2015+-0.0086 tear-off-arguments 3.5317+-0.0212 ? 3.5342+-0.0245 ? temporal-structure 16.9755+-0.1177 ? 17.1923+-0.7192 ? might be 1.0128x slower to-int32-boolean 21.9634+-0.1643 21.6900+-0.3442 might be 1.0126x faster undefined-test 4.4008+-0.1114 ? 4.4095+-0.1895 ? weird-inlining-const-prop 2.2855+-0.0227 ? 2.3370+-0.1742 ? might be 1.0225x slower <arithmetic> 152.8037+-0.4180 ? 153.9515+-2.5015 ? might be 1.0075x slower <geometric> * 14.0097+-0.0188 ? 14.0795+-0.0775 ? might be 1.0050x slower <harmonic> 5.2386+-0.0059 ? 5.2434+-0.0241 ? might be 1.0009x slower TipOfTree SanitizeStack All benchmarks: <arithmetic> 222.1644+-0.9323 ? 222.2638+-1.5293 ? might be 1.0004x slower <geometric> 20.4635+-0.0867 ? 20.5309+-0.0686 ? might be 1.0033x slower <harmonic> 4.7341+-0.0586 ? 4.7441+-0.0327 ? might be 1.0021x slower TipOfTree SanitizeStack Geomean of preferred means: <scaled-result> 48.6107+-0.8273 48.5434+-0.0269 might be 1.0014x faster
Filip Pizlo
Comment 4 2013-11-27 16:20:35 PST
Note You need to log in before you can comment on or make changes to this bug.