| Summary: | Add support for Callee-Saves registers | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Michael Saboff <msaboff> | ||||||
| Component: | JavaScriptCore | Assignee: | Michael Saboff <msaboff> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | basile_clement, commit-queue | ||||||
| Priority: | P2 | ||||||||
| Version: | Other | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=171266 | ||||||||
| Bug Depends on: | 149044, 149061, 151486, 151855 | ||||||||
| Bug Blocks: | 148661 | ||||||||
| Attachments: |
|
||||||||
|
Description
Michael Saboff
2015-08-31 18:05:38 PDT
*** Bug 146845 has been marked as a duplicate of this bug. *** *** Bug 147639 has been marked as a duplicate of this bug. *** *** Bug 146854 has been marked as a duplicate of this bug. *** *** Bug 148076 has been marked as a duplicate of this bug. *** *** Bug 148167 has been marked as a duplicate of this bug. *** *** Bug 148246 has been marked as a duplicate of this bug. *** *** Bug 147747 has been marked as a duplicate of this bug. *** *** Bug 148345 has been marked as a duplicate of this bug. *** *** Bug 148099 has been marked as a duplicate of this bug. *** *** Bug 148494 has been marked as a duplicate of this bug. *** *** Bug 148547 has been marked as a duplicate of this bug. *** *** Bug 148652 has been marked as a duplicate of this bug. *** Created attachment 260867 [details]
Patch
Performance results look neutral overall.
Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on msaboff-pro (MacPro5,1).
VMs tested:
"Baseline" at /Volumes/Data/src/webkit.baseline/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc
"CalleeSaves" at /Volumes/Data/src/webkit/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc
Collected 4 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample measurements.
Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level
timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.
Baseline CalleeSaves
SunSpider:
3d-cube 7.9928+-0.4418 ? 8.0573+-0.3016 ?
3d-morph 7.8198+-0.2064 ? 8.0786+-0.1460 ? might be 1.0331x slower
3d-raytrace 8.6527+-0.3001 ? 8.9567+-0.3644 ? might be 1.0351x slower
access-binary-trees 3.0626+-0.1847 ? 3.1015+-0.2635 ? might be 1.0127x slower
access-fannkuch 8.5485+-0.2050 8.5142+-0.1279
access-nbody 4.2827+-0.0651 ? 4.3107+-0.1841 ?
access-nsieve 4.5638+-0.0972 ? 4.6740+-0.0964 ? might be 1.0241x slower
bitops-3bit-bits-in-byte 1.6876+-0.1365 1.6575+-0.0725 might be 1.0181x faster
bitops-bits-in-byte 5.6458+-0.1243 5.6010+-0.1283
bitops-bitwise-and 2.9431+-0.1517 2.7435+-0.1104 might be 1.0728x faster
bitops-nsieve-bits 4.5085+-0.1361 4.3542+-0.1537 might be 1.0355x faster
controlflow-recursive 3.0344+-0.1344 ? 3.3735+-0.2282 ? might be 1.1118x slower
crypto-aes 6.0410+-0.0531 ! 6.4158+-0.2965 ! definitely 1.0620x slower
crypto-md5 3.8271+-0.2802 ? 4.0269+-0.0675 ? might be 1.0522x slower
crypto-sha1 3.1725+-0.1627 ! 3.4653+-0.0666 ! definitely 1.0923x slower
date-format-tofte 12.5102+-0.3102 ? 12.8682+-0.1895 ? might be 1.0286x slower
date-format-xparb 7.4270+-0.3769 ? 7.8649+-0.4083 ? might be 1.0590x slower
math-cordic 4.1630+-0.0970 ! 4.4160+-0.0998 ! definitely 1.0608x slower
math-partial-sums 9.9321+-0.2271 ? 9.9799+-0.2850 ?
math-spectral-norm 2.8958+-0.1702 ? 3.0941+-0.2078 ? might be 1.0685x slower
regexp-dna 10.4353+-0.2928 9.9435+-0.5145 might be 1.0495x faster
string-base64 6.4023+-0.2319 ? 6.7002+-0.1694 ? might be 1.0465x slower
string-fasta 9.2318+-0.2312 ? 9.2417+-0.1361 ?
string-tagcloud 13.4342+-0.0910 13.4091+-0.4617
string-unpack-code 28.4358+-0.8923 28.2206+-0.7995
string-validate-input 6.7042+-0.1720 ? 6.8822+-0.2946 ? might be 1.0266x slower
<arithmetic> 7.2059+-0.0608 ? 7.3058+-0.0908 ? might be 1.0139x slower
Baseline CalleeSaves
LongSpider:
3d-cube 1229.5276+-4.5635 ^ 1214.8652+-4.2533 ^ definitely 1.0121x faster
3d-morph 1958.8052+-0.4651 1955.5404+-6.7737
3d-raytrace 1069.6393+-22.1067 ? 1072.5795+-6.7612 ?
access-binary-trees 1458.8109+-7.8321 1456.6381+-4.0488
access-fannkuch 475.9203+-22.1500 465.2122+-8.4168 might be 1.0230x faster
access-nbody 1063.2477+-0.4884 ! 1066.5579+-0.3716 ! definitely 1.0031x slower
access-nsieve 692.5743+-5.8187 ? 702.3073+-10.7159 ? might be 1.0141x slower
bitops-3bit-bits-in-byte 46.0367+-0.3634 ? 46.2672+-0.3989 ?
bitops-bits-in-byte 338.2800+-1.5229 ! 353.9699+-0.9432 ! definitely 1.0464x slower
bitops-nsieve-bits 651.5029+-1.4822 649.5268+-4.0606
controlflow-recursive 778.1221+-1.1681 ^ 761.5012+-1.6372 ^ definitely 1.0218x faster
crypto-aes 967.4644+-4.5063 ^ 916.2629+-6.4824 ^ definitely 1.0559x faster
crypto-md5 755.6978+-10.5913 ! 822.7208+-7.2924 ! definitely 1.0887x slower
crypto-sha1 1100.9877+-5.9601 ? 1106.9943+-9.4179 ?
date-format-tofte 1012.4187+-25.6304 ? 1022.3882+-44.6001 ?
date-format-xparb 1127.9755+-19.5947 1116.1700+-10.5657 might be 1.0106x faster
hash-map 243.5212+-5.9469 242.9580+-1.7979
math-cordic 667.8378+-2.1462 ! 673.4316+-1.1607 ! definitely 1.0084x slower
math-partial-sums 1187.1393+-2.2919 1183.5071+-4.3602
math-spectral-norm 1107.2436+-1.6854 ! 1112.6567+-2.0757 ! definitely 1.0049x slower
string-base64 571.9952+-2.2776 ^ 560.1119+-4.1459 ^ definitely 1.0212x faster
string-fasta 611.4389+-10.9670 ? 621.0126+-6.5266 ? might be 1.0157x slower
string-tagcloud 305.0017+-3.0116 303.4891+-3.8870
<geometric> 693.0835+-2.6120 ? 694.3070+-2.3016 ? might be 1.0018x slower
Baseline CalleeSaves
V8Spider:
crypto 72.1155+-0.6185 ? 73.1060+-0.5313 ? might be 1.0137x slower
deltablue 89.5450+-4.5465 ? 92.2560+-1.8653 ? might be 1.0303x slower
earley-boyer 64.7399+-0.6215 ? 65.4130+-0.7159 ? might be 1.0104x slower
raytrace 38.5266+-0.8855 ! 40.3173+-0.6300 ! definitely 1.0465x slower
regexp 107.5262+-1.9210 ? 108.1299+-0.3159 ?
richards 87.1683+-0.6084 85.0622+-1.5047 might be 1.0248x faster
splay 58.4373+-5.4030 ? 59.6768+-3.5955 ? might be 1.0212x slower
<geometric> 70.6774+-1.4831 ? 71.7166+-0.7746 ? might be 1.0147x slower
Baseline CalleeSaves
Octane:
encrypt 0.32057+-0.00181 ! 0.32331+-0.00055 ! definitely 1.0085x slower
decrypt 5.76899+-0.00655 ! 5.98170+-0.02201 ! definitely 1.0369x slower
deltablue x2 0.27321+-0.00335 0.26939+-0.01367 might be 1.0142x faster
earley 0.52280+-0.00371 ? 0.53235+-0.01193 ? might be 1.0183x slower
boyer 8.93618+-0.12509 ? 9.00151+-0.03944 ?
navier-stokes x2 6.65805+-0.00402 6.65748+-0.00945
raytrace x2 1.86555+-0.08120 1.76718+-0.07563 might be 1.0557x faster
richards x2 0.17912+-0.00078 ? 0.17956+-0.00169 ?
splay x2 0.58201+-0.02368 0.57364+-0.00153 might be 1.0146x faster
regexp x2 40.71020+-2.18233 40.22243+-0.47877 might be 1.0121x faster
pdfjs x2 62.12309+-0.09826 ! 62.61260+-0.04944 ! definitely 1.0079x slower
mandreel x2 74.44370+-0.50687 ^ 72.03175+-0.59141 ^ definitely 1.0335x faster
gbemu x2 65.41352+-8.28463 65.30056+-4.68395
closure 0.95444+-0.00702 ? 0.96803+-0.00662 ? might be 1.0142x slower
jquery 12.34563+-0.09954 ! 12.50699+-0.05801 ! definitely 1.0131x slower
box2d x2 18.16747+-0.21236 ? 18.48016+-0.24023 ? might be 1.0172x slower
zlib x2 595.81270+-1.17158 ? 595.82015+-5.84225 ?
typescript x2 1122.74829+-43.75787 ? 1144.47345+-30.79251 ? might be 1.0193x slower
<geometric> 9.58870+-0.14266 9.56771+-0.03056 might be 1.0022x faster
Baseline CalleeSaves
Kraken:
ai-astar 344.650+-2.273 ? 345.034+-2.323 ?
audio-beat-detection 83.158+-0.550 ? 84.296+-0.933 ? might be 1.0137x slower
audio-dft 134.926+-2.578 ? 135.372+-0.938 ?
audio-fft 60.561+-0.182 ! 62.335+-0.239 ! definitely 1.0293x slower
audio-oscillator 106.950+-1.188 106.733+-0.325
imaging-darkroom 101.962+-3.985 100.198+-0.083 might be 1.0176x faster
imaging-desaturate 92.843+-0.567 ? 93.488+-1.128 ?
imaging-gaussian-blur 149.884+-2.237 ? 150.696+-0.519 ?
json-parse-financial 72.237+-0.915 ? 73.339+-0.390 ? might be 1.0153x slower
json-stringify-tinderbox 42.226+-0.149 ? 42.571+-0.411 ?
stanford-crypto-aes 68.734+-0.605 67.520+-1.111 might be 1.0180x faster
stanford-crypto-ccm 60.556+-0.795 ? 62.197+-2.645 ? might be 1.0271x slower
stanford-crypto-pbkdf2 150.639+-5.810 149.016+-0.581 might be 1.0109x faster
stanford-crypto-sha256-iterative 59.062+-0.396 ? 59.803+-0.523 ? might be 1.0125x slower
<arithmetic> 109.170+-0.744 ? 109.471+-0.268 ? might be 1.0028x slower
Baseline CalleeSaves
JSRegress:
abc-forward-loop-equal 57.4637+-0.1535 ? 57.4824+-0.3048 ?
abc-postfix-backward-loop 57.0211+-0.1585 56.8592+-0.3777
abc-simple-backward-loop 56.4916+-0.3372 56.4890+-0.3533
abc-simple-forward-loop 56.8463+-0.3065 56.6793+-0.3358
abc-skippy-loop 39.0104+-0.2135 ? 39.1538+-0.3967 ?
abs-boolean 3.8511+-0.0910 ? 3.8779+-0.1921 ?
adapt-to-double-divide 17.4612+-0.8959 17.4203+-0.9335
aliased-arguments-getbyval 1.6136+-0.3038 ? 1.6536+-0.2916 ? might be 1.0247x slower
allocate-big-object 3.8900+-0.2990 ? 3.9271+-0.2164 ?
arguments-named-and-reflective 14.6088+-0.4831 ? 14.6970+-0.1325 ?
arguments-out-of-bounds 14.3838+-0.5382 ? 14.8004+-0.3796 ? might be 1.0290x slower
arguments-strict-mode 12.8257+-0.6247 12.6533+-0.9900 might be 1.0136x faster
arguments 11.6955+-0.2463 11.3489+-0.2943 might be 1.0305x faster
arity-mismatch-inlining 1.2043+-0.1028 ? 1.3431+-0.1305 ? might be 1.1153x slower
array-access-polymorphic-structure 9.4614+-0.2135 ? 9.6665+-0.1912 ? might be 1.0217x slower
array-nonarray-polymorhpic-access 43.1016+-1.3879 42.0618+-1.6629 might be 1.0247x faster
array-prototype-every 131.8005+-1.8360 ^ 124.6719+-1.2164 ^ definitely 1.0572x faster
array-prototype-forEach 129.6708+-2.0563 124.1695+-4.3603 might be 1.0443x faster
array-prototype-map 143.2799+-1.2371 ^ 139.6074+-1.1489 ^ definitely 1.0263x faster
array-prototype-reduce 120.7306+-1.1592 119.0132+-1.9228 might be 1.0144x faster
array-prototype-reduceRight 120.9698+-0.9027 ^ 117.1212+-0.9645 ^ definitely 1.0329x faster
array-prototype-some 139.8691+-18.1322 125.2195+-2.2101 might be 1.1170x faster
array-splice-contiguous 33.5990+-0.6575 ? 34.3202+-0.5973 ? might be 1.0215x slower
array-with-double-add 5.6039+-0.1317 5.5160+-0.1921 might be 1.0159x faster
array-with-double-increment 4.2315+-0.1578 4.1865+-0.1160 might be 1.0107x faster
array-with-double-mul-add 7.2401+-0.2039 ? 7.2661+-0.1716 ?
array-with-double-sum 4.3999+-0.1135 ? 4.4050+-0.1727 ?
array-with-int32-add-sub 9.9252+-0.4224 9.5164+-0.1942 might be 1.0430x faster
array-with-int32-or-double-sum 4.5858+-0.0914 4.4927+-0.1830 might be 1.0207x faster
ArrayBuffer-DataView-alloc-large-long-lived
48.4656+-0.6353 48.3635+-1.2376
ArrayBuffer-DataView-alloc-long-lived 18.9482+-2.1025 18.9379+-0.6554
ArrayBuffer-Int32Array-byteOffset 5.7285+-0.1574 5.6353+-0.2835 might be 1.0165x faster
ArrayBuffer-Int8Array-alloc-large-long-lived
49.7737+-2.4798 48.9855+-0.2753 might be 1.0161x faster
ArrayBuffer-Int8Array-alloc-long-lived-buffer
30.2004+-0.8061 ? 30.3832+-0.4264 ?
ArrayBuffer-Int8Array-alloc-long-lived 17.4227+-0.2891 ? 17.5327+-0.2787 ?
ArrayBuffer-Int8Array-alloc 15.7516+-3.6616 14.5201+-0.2835 might be 1.0848x faster
arrowfunction-call 14.4292+-0.1504 ! 15.3791+-0.1894 ! definitely 1.0658x slower
asmjs_bool_bug 9.5934+-0.1091 ! 9.9169+-0.1385 ! definitely 1.0337x slower
assign-custom-setter-polymorphic 4.1573+-0.0583 4.1500+-0.1118
assign-custom-setter 5.6197+-0.1882 ? 5.6782+-0.1799 ? might be 1.0104x slower
basic-set 11.3558+-0.7437 ? 11.3623+-0.3560 ?
big-int-mul 5.8637+-0.0585 5.8287+-0.1480
boolean-test 4.4430+-0.1707 ? 4.6170+-0.3020 ? might be 1.0392x slower
branch-fold 4.6981+-0.1084 ? 4.8550+-0.0807 ? might be 1.0334x slower
branch-on-string-as-boolean 22.9683+-0.6107 ? 23.2860+-1.1213 ? might be 1.0138x slower
by-val-generic 3.7207+-0.2876 ? 3.8499+-0.2322 ? might be 1.0347x slower
call-spread-apply 39.5907+-3.7338 38.7917+-0.6637 might be 1.0206x faster
call-spread-call 31.6939+-0.6873 31.5374+-0.4019
captured-assignments 0.7217+-0.1201 ? 0.7405+-0.1477 ? might be 1.0260x slower
cast-int-to-double 8.5120+-0.1173 ? 8.6293+-0.0719 ? might be 1.0138x slower
cell-argument 8.1620+-0.1957 ? 8.5125+-0.1951 ? might be 1.0429x slower
cfg-simplify 3.6982+-0.1284 ? 3.8566+-0.1310 ? might be 1.0428x slower
chain-getter-access 10.4148+-0.3420 ? 10.4205+-0.3246 ?
cmpeq-obj-to-obj-other 14.2186+-0.7248 ? 15.0137+-0.9113 ? might be 1.0559x slower
constant-test 8.2130+-0.0900 8.2058+-0.0900
create-lots-of-functions 16.4976+-0.5080 ? 16.7747+-0.5280 ? might be 1.0168x slower
cse-new-array-buffer 3.2420+-0.1045 ? 3.3469+-0.1637 ? might be 1.0324x slower
cse-new-array 3.3073+-0.3591 ? 3.5261+-0.1066 ? might be 1.0662x slower
DataView-custom-properties 55.4885+-0.7051 ? 55.5548+-0.8008 ?
delay-tear-off-arguments-strictmode 19.1107+-0.3742 ? 19.2010+-0.5850 ?
deltablue-varargs 271.5906+-2.7678 ! 283.4049+-5.3153 ! definitely 1.0435x slower
destructuring-arguments 250.2731+-2.6080 ? 256.1074+-17.4655 ? might be 1.0233x slower
destructuring-parameters-overridden-by-function
0.7210+-0.0897 ? 0.7313+-0.1439 ? might be 1.0143x slower
destructuring-swap 7.7993+-0.1432 ? 7.8676+-0.1209 ?
direct-arguments-getbyval 1.7081+-0.1999 ? 1.7970+-0.3495 ? might be 1.0520x slower
div-boolean-double 5.5656+-0.1442 5.5406+-0.0820
div-boolean 10.0630+-0.0362 ? 10.1185+-0.0867 ?
double-get-by-val-out-of-bounds 6.0363+-0.1436 ? 6.2393+-0.3184 ? might be 1.0336x slower
double-pollution-getbyval 9.9256+-0.1049 ? 9.9445+-0.0734 ?
double-pollution-putbyoffset 5.8484+-0.2747 5.6714+-0.2870 might be 1.0312x faster
double-real-use 40.8811+-0.1017 40.8345+-0.2169
double-to-int32-typed-array-no-inline 2.8983+-0.1429 ? 3.1149+-0.1102 ? might be 1.0747x slower
double-to-int32-typed-array 2.7859+-0.1478 ! 3.0312+-0.0880 ! definitely 1.0881x slower
double-to-uint32-typed-array-no-inline 2.8902+-0.1357 ? 3.1694+-0.1659 ? might be 1.0966x slower
double-to-uint32-typed-array 2.7601+-0.0767 ? 2.9251+-0.1796 ? might be 1.0598x slower
elidable-new-object-dag 56.5925+-0.7505 55.9567+-0.9370 might be 1.0114x faster
elidable-new-object-roflcopter 55.3993+-0.4653 55.2256+-1.1887
elidable-new-object-then-call 50.5293+-1.4065 ? 50.6087+-0.4833 ?
elidable-new-object-tree 66.0302+-1.2662 65.6547+-1.6497
empty-string-plus-int 7.6779+-0.2948 ? 7.6995+-0.1271 ?
emscripten-cube2hash 46.2324+-0.4627 ? 46.7122+-0.3559 ? might be 1.0104x slower
exit-length-on-plain-object 19.2318+-0.9856 ? 19.5887+-0.5774 ? might be 1.0186x slower
external-arguments-getbyval 1.5742+-0.0550 ? 1.8683+-0.3749 ? might be 1.1868x slower
external-arguments-putbyval 3.2278+-0.2269 ? 3.3053+-0.1864 ? might be 1.0240x slower
fixed-typed-array-storage-var-index 1.6376+-0.1282 ? 1.7123+-0.0758 ? might be 1.0456x slower
fixed-typed-array-storage 1.2587+-0.1419 ? 1.3677+-0.1125 ? might be 1.0867x slower
Float32Array-matrix-mult 6.0018+-0.2626 ? 6.1035+-0.2487 ? might be 1.0169x slower
Float32Array-to-Float64Array-set 81.3908+-1.3784 ? 81.5637+-0.9782 ?
Float64Array-alloc-long-lived 105.6177+-0.3884 102.7424+-3.7488 might be 1.0280x faster
Float64Array-to-Int16Array-set 95.7855+-1.2433 ! 102.4429+-1.1428 ! definitely 1.0695x slower
fold-double-to-int 19.3105+-0.3111 ? 19.6115+-0.6105 ? might be 1.0156x slower
fold-get-by-id-to-multi-get-by-offset-rare-int
11.9613+-0.3138 11.9172+-0.5720
fold-get-by-id-to-multi-get-by-offset 9.8408+-0.2025 9.8124+-0.3589
fold-multi-get-by-offset-to-get-by-offset
8.9713+-0.6212 ? 9.8940+-0.8659 ? might be 1.1028x slower
fold-multi-get-by-offset-to-poly-get-by-offset
8.8856+-0.0590 ! 9.2404+-0.0661 ! definitely 1.0399x slower
fold-multi-put-by-offset-to-poly-put-by-offset
9.2551+-0.1393 ? 9.3527+-0.6546 ? might be 1.0105x slower
fold-multi-put-by-offset-to-put-by-offset
8.7441+-0.6125 8.3320+-0.5114 might be 1.0495x faster
fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
14.6318+-0.3571 ? 14.6726+-1.0454 ?
fold-put-by-id-to-multi-put-by-offset 10.1969+-0.8448 ? 10.3048+-0.4124 ? might be 1.0106x slower
fold-put-by-val-with-string-to-multi-put-by-offset
10.7410+-0.9617 ? 10.7936+-0.7428 ?
fold-put-by-val-with-symbol-to-multi-put-by-offset
10.6995+-0.9572 ? 11.0486+-0.6894 ? might be 1.0326x slower
fold-put-structure 8.0551+-0.5198 7.8500+-0.1415 might be 1.0261x faster
for-of-iterate-array-entries 16.7467+-0.4121 ? 16.9798+-0.3959 ? might be 1.0139x slower
for-of-iterate-array-keys 5.1378+-0.1157 ? 5.3023+-0.3667 ? might be 1.0320x slower
for-of-iterate-array-values 5.0558+-0.1167 ? 5.3209+-0.2651 ? might be 1.0524x slower
fround 19.8099+-0.6871 19.0956+-0.4008 might be 1.0374x faster
ftl-library-inlining-dataview 102.6085+-6.3498 97.7753+-1.7214 might be 1.0494x faster
ftl-library-inlining 115.5441+-9.3333 ? 117.2675+-11.0986 ? might be 1.0149x slower
function-call 14.4835+-0.2895 ! 15.4243+-0.1648 ! definitely 1.0650x slower
function-dot-apply 2.9910+-0.1213 ? 3.2222+-0.1309 ? might be 1.0773x slower
function-test 4.3750+-0.1026 ? 4.5165+-0.2005 ? might be 1.0323x slower
function-with-eval 162.6516+-3.3443 ^ 152.2882+-0.8766 ^ definitely 1.0681x faster
gcse-poly-get-less-obvious 25.6691+-0.1924 25.4257+-0.3659
gcse-poly-get 25.5782+-0.1257 ? 25.5798+-0.2315 ?
gcse 6.6815+-0.1137 ^ 6.3845+-0.1405 ^ definitely 1.0465x faster
get-by-id-bimorphic-check-structure-elimination-simple
3.4348+-0.1736 3.2612+-0.1268 might be 1.0532x faster
get-by-id-bimorphic-check-structure-elimination
8.5407+-0.0198 ^ 8.4349+-0.0716 ^ definitely 1.0125x faster
get-by-id-chain-from-try-block 6.8230+-0.1437 ? 6.8412+-0.1416 ?
get-by-id-check-structure-elimination 7.8732+-0.0706 ? 8.1191+-0.2068 ? might be 1.0312x slower
get-by-id-proto-or-self 21.2505+-2.6854 ? 21.6962+-2.8278 ? might be 1.0210x slower
get-by-id-quadmorphic-check-structure-elimination-simple
4.0224+-0.0724 3.8651+-0.0986 might be 1.0407x faster
get-by-id-self-or-proto 20.2454+-0.0647 ? 20.5469+-1.2043 ? might be 1.0149x slower
get-by-val-out-of-bounds 5.7097+-0.0431 ! 6.0152+-0.0931 ! definitely 1.0535x slower
get-by-val-with-string-bimorphic-check-structure-elimination-simple
3.9435+-0.1096 ! 4.2890+-0.1375 ! definitely 1.0876x slower
get-by-val-with-string-bimorphic-check-structure-elimination
10.2433+-0.1130 ? 10.2726+-0.0936 ?
get-by-val-with-string-chain-from-try-block
8.0193+-0.1578 7.9427+-0.1430
get-by-val-with-string-check-structure-elimination
9.2685+-0.0900 9.2280+-0.1137
get-by-val-with-string-proto-or-self 20.5448+-0.4667 20.5339+-0.5956
get-by-val-with-string-quadmorphic-check-structure-elimination-simple
4.7150+-0.1187 ? 4.8143+-0.0954 ? might be 1.0211x slower
get-by-val-with-string-self-or-proto 21.3663+-2.9338 20.5157+-0.4628 might be 1.0415x faster
get-by-val-with-symbol-bimorphic-check-structure-elimination-simple
5.2325+-0.1164 ^ 4.7810+-0.0939 ^ definitely 1.0944x faster
get-by-val-with-symbol-bimorphic-check-structure-elimination
19.9676+-0.0890 19.8419+-0.1909
get-by-val-with-symbol-chain-from-try-block
8.1800+-0.0900 7.9712+-0.3803 might be 1.0262x faster
get-by-val-with-symbol-check-structure-elimination
18.7361+-0.2072 18.7320+-0.1964
get-by-val-with-symbol-proto-or-self 20.4343+-0.4354 ? 20.5740+-0.5204 ?
get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple
5.8936+-0.1011 5.7819+-0.1352 might be 1.0193x faster
get-by-val-with-symbol-self-or-proto 21.5933+-4.1419 ? 21.6102+-2.6039 ?
get_callee_monomorphic 3.5992+-0.2105 ? 3.8408+-0.2613 ? might be 1.0671x slower
get_callee_polymorphic 4.7248+-0.1203 ? 4.8846+-0.1026 ? might be 1.0338x slower
getter-no-activation 5.9008+-0.0548 ? 5.9603+-0.1036 ? might be 1.0101x slower
getter-prototype 14.3041+-0.2040 ? 14.3926+-0.1590 ?
getter-richards 134.7499+-11.6333 132.7054+-5.2519 might be 1.0154x faster
getter 7.5412+-0.0462 ? 7.5735+-0.1087 ?
global-object-access-with-mutating-structure
7.8518+-0.3283 ! 8.6069+-0.4020 ! definitely 1.0962x slower
global-var-const-infer-fire-from-opt 1.1312+-0.1610 ? 1.2531+-0.1472 ? might be 1.1077x slower
global-var-const-infer 1.0692+-0.3143 ? 1.2686+-0.2811 ? might be 1.1864x slower
hard-overflow-check-equal 63.1798+-0.1275 62.8108+-0.5283
hard-overflow-check 62.2134+-0.5140 ? 62.2148+-0.3334 ?
HashMap-put-get-iterate-keys 33.9208+-0.2968 ? 34.4658+-0.5530 ? might be 1.0161x slower
HashMap-put-get-iterate 33.5223+-0.2477 ? 33.9028+-0.3534 ? might be 1.0114x slower
HashMap-string-put-get-iterate 37.1035+-0.5784 ? 37.9288+-0.6525 ? might be 1.0222x slower
hoist-make-rope 12.1094+-1.5804 ? 13.0396+-1.8299 ? might be 1.0768x slower
hoist-poly-check-structure-effectful-loop
6.9391+-0.1021 6.7838+-0.0632 might be 1.0229x faster
hoist-poly-check-structure 4.9158+-0.1595 ? 4.9972+-0.0907 ? might be 1.0166x slower
imul-double-only 9.0599+-1.6840 ? 9.2332+-0.5450 ? might be 1.0191x slower
imul-int-only 10.6528+-0.1494 10.6392+-0.2105
imul-mixed 8.0228+-0.2160 ? 8.1086+-0.2113 ? might be 1.0107x slower
in-four-cases 26.8654+-0.0916 26.3740+-0.5325 might be 1.0186x faster
in-one-case-false 14.6883+-0.1511 ! 15.0634+-0.0812 ! definitely 1.0255x slower
in-one-case-true 14.6577+-0.0993 ! 15.1116+-0.0343 ! definitely 1.0310x slower
in-two-cases 15.0054+-0.0999 ! 15.8110+-0.0714 ! definitely 1.0537x slower
indexed-properties-in-objects 3.8033+-0.0892 ? 3.8242+-0.1132 ?
infer-closure-const-then-mov-no-inline 4.5505+-0.1352 ! 4.9445+-0.1074 ! definitely 1.0866x slower
infer-closure-const-then-mov 22.0650+-0.3204 ? 22.2925+-1.0257 ? might be 1.0103x slower
infer-closure-const-then-put-to-scope-no-inline
16.5456+-0.1151 ^ 16.0999+-0.2817 ^ definitely 1.0277x faster
infer-closure-const-then-put-to-scope 32.2249+-0.8107 ^ 28.9426+-0.1814 ^ definitely 1.1134x faster
infer-closure-const-then-reenter-no-inline
73.5766+-0.1130 ? 73.7523+-0.1903 ?
infer-closure-const-then-reenter 29.2811+-0.2670 ! 33.6271+-0.5488 ! definitely 1.1484x slower
infer-constant-global-property 4.8559+-0.1981 ? 4.8755+-0.1590 ?
infer-constant-property 3.3730+-0.1281 ? 3.4031+-0.1743 ?
infer-one-time-closure-ten-vars 11.4488+-0.5075 ? 11.4883+-0.3861 ?
infer-one-time-closure-two-vars 10.5666+-0.5031 ? 10.8598+-0.5470 ? might be 1.0277x slower
infer-one-time-closure 10.7338+-0.4007 ? 10.8314+-0.3708 ?
infer-one-time-deep-closure 18.3307+-0.4676 ? 18.3795+-0.7555 ?
inline-arguments-access 6.0157+-0.2040 ? 6.1884+-0.1502 ? might be 1.0287x slower
inline-arguments-aliased-access 5.9899+-0.1854 ? 6.0927+-0.2045 ? might be 1.0172x slower
inline-arguments-local-escape 6.1934+-0.1644 6.1177+-0.2515 might be 1.0124x faster
inline-get-scoped-var 5.7775+-0.1014 5.7613+-0.1625
inlined-put-by-id-transition 16.9377+-0.9904 ? 17.5311+-0.4235 ? might be 1.0350x slower
inlined-put-by-val-with-string-transition
115.9766+-4.6604 ? 118.2582+-0.7623 ? might be 1.0197x slower
inlined-put-by-val-with-symbol-transition
116.1178+-9.2058 111.8193+-3.4399 might be 1.0384x faster
int-or-other-abs-then-get-by-val 6.6205+-0.1375 6.6116+-0.0961
int-or-other-abs-zero-then-get-by-val 27.9443+-0.3387 ! 28.6569+-0.0720 ! definitely 1.0255x slower
int-or-other-add-then-get-by-val 6.4609+-0.2168 ^ 6.0954+-0.1024 ^ definitely 1.0600x faster
int-or-other-add 8.0981+-0.0873 ? 8.3215+-0.1585 ? might be 1.0276x slower
int-or-other-div-then-get-by-val 5.1602+-0.1357 5.1204+-0.1832
int-or-other-max-then-get-by-val 5.2025+-0.1517 5.1430+-0.1186 might be 1.0116x faster
int-or-other-min-then-get-by-val 4.9172+-0.1269 ? 5.1097+-0.1221 ? might be 1.0391x slower
int-or-other-mod-then-get-by-val 4.8389+-0.1115 ? 4.9512+-0.1267 ? might be 1.0232x slower
int-or-other-mul-then-get-by-val 4.8830+-0.0997 ! 5.1963+-0.1902 ! definitely 1.0642x slower
int-or-other-neg-then-get-by-val 5.8771+-0.1878 5.7354+-0.1138 might be 1.0247x faster
int-or-other-neg-zero-then-get-by-val 28.4772+-0.5556 ? 28.8906+-0.2789 ? might be 1.0145x slower
int-or-other-sub-then-get-by-val 6.3408+-0.1286 6.1497+-0.2341 might be 1.0311x faster
int-or-other-sub 5.2796+-0.1462 ? 5.3297+-0.1275 ?
int-overflow-local 6.0464+-0.1756 ? 6.1123+-0.1043 ? might be 1.0109x slower
Int16Array-alloc-long-lived 73.1450+-0.6687 ^ 70.6293+-1.7710 ^ definitely 1.0356x faster
Int16Array-bubble-sort-with-byteLength 36.2930+-0.2179 36.2793+-0.1688
Int16Array-bubble-sort 36.3560+-0.1658 ? 36.3572+-0.1189 ?
Int16Array-load-int-mul 2.0249+-0.0839 ? 2.0892+-0.1268 ? might be 1.0317x slower
Int16Array-to-Int32Array-set 75.2527+-1.0461 ? 76.0354+-2.3263 ? might be 1.0104x slower
Int32Array-alloc-large 34.0490+-0.6453 34.0247+-0.4496
Int32Array-alloc-long-lived 83.9536+-0.9694 ^ 80.3480+-0.6572 ^ definitely 1.0449x faster
Int32Array-alloc 4.6527+-0.0933 4.5983+-0.1536 might be 1.0118x faster
Int32Array-Int8Array-view-alloc 9.4547+-0.1914 9.2758+-0.1606 might be 1.0193x faster
int52-spill 7.1092+-0.2788 ? 7.4572+-0.3038 ? might be 1.0490x slower
Int8Array-alloc-long-lived 62.4456+-1.0135 61.8785+-0.4414
Int8Array-load-with-byteLength 4.8836+-0.1476 ? 4.8891+-0.1560 ?
Int8Array-load 4.7660+-0.0898 ? 4.8127+-0.1423 ?
integer-divide 14.4896+-0.2894 14.4017+-0.1396
integer-modulo 2.5833+-0.1265 ? 2.8496+-0.1693 ? might be 1.1031x slower
is-boolean-fold-tricky 5.6358+-0.1100 ? 5.6436+-0.0808 ?
is-boolean-fold 4.0234+-0.1344 ? 4.0401+-0.1631 ?
is-function-fold-tricky-internal-function
14.9022+-0.1281 ? 15.0947+-0.1039 ? might be 1.0129x slower
is-function-fold-tricky 5.7598+-0.2073 ? 5.8295+-0.1177 ? might be 1.0121x slower
is-function-fold 4.0471+-0.1252 4.0319+-0.1155
is-number-fold-tricky 5.5890+-0.1767 ? 5.6860+-0.1026 ? might be 1.0174x slower
is-number-fold 4.0576+-0.1135 4.0408+-0.2196
is-object-or-null-fold-functions 4.1698+-0.1452 4.1517+-0.1200
is-object-or-null-fold-less-tricky 5.7382+-0.0864 ? 5.8142+-0.2127 ? might be 1.0132x slower
is-object-or-null-fold-tricky 7.9645+-0.0806 ^ 7.5443+-0.0219 ^ definitely 1.0557x faster
is-object-or-null-fold 4.0462+-0.1518 ? 4.0738+-0.1225 ?
is-object-or-null-trickier-function 5.8414+-0.1284 ? 5.9112+-0.1415 ? might be 1.0119x slower
is-object-or-null-trickier-internal-function
15.9977+-0.1393 15.9005+-0.1369
is-object-or-null-tricky-function 5.8483+-0.0732 ? 5.8807+-0.1432 ?
is-object-or-null-tricky-internal-function
11.6266+-0.1952 ? 11.6637+-0.1279 ?
is-string-fold-tricky 5.7305+-0.1891 5.6989+-0.2431
is-string-fold 4.0202+-0.0796 ? 4.0502+-0.1546 ?
is-undefined-fold-tricky 4.6782+-0.0384 ? 4.7892+-0.1314 ? might be 1.0237x slower
is-undefined-fold 3.9955+-0.0925 ? 4.0780+-0.1226 ? might be 1.0206x slower
JSONP-negative-0 0.4296+-0.0835 ? 0.4580+-0.0976 ? might be 1.0662x slower
large-int-captured 6.7280+-0.1849 ? 6.8324+-0.4333 ? might be 1.0155x slower
large-int-neg 20.5817+-0.5005 20.3121+-0.1341 might be 1.0133x faster
large-int 18.1785+-0.1337 17.9862+-0.3516 might be 1.0107x faster
load-varargs-elimination 30.3342+-1.5321 ? 31.1136+-1.6447 ? might be 1.0257x slower
logical-not-weird-types 4.8497+-0.1385 ! 5.3120+-0.2154 ! definitely 1.0953x slower
logical-not 6.3973+-0.0877 6.3329+-0.0860 might be 1.0102x faster
lots-of-fields 16.5394+-0.3302 16.3987+-0.1260
make-indexed-storage 4.3118+-0.3296 ? 4.3774+-0.2267 ? might be 1.0152x slower
make-rope-cse 6.5509+-0.0895 ? 6.7700+-0.1543 ? might be 1.0334x slower
marsaglia-larger-ints 55.3673+-0.3913 55.3395+-0.2292
marsaglia-osr-entry 27.2646+-0.8140 ? 27.3532+-0.3308 ?
math-with-out-of-bounds-array-values 34.4394+-0.3097 ^ 33.3499+-0.4460 ^ definitely 1.0327x faster
max-boolean 3.4333+-0.0515 3.4300+-0.1135
method-on-number 24.7396+-1.8520 23.6125+-0.4997 might be 1.0477x faster
min-boolean 3.3873+-0.1673 3.3449+-0.1917 might be 1.0127x faster
minus-boolean-double 4.3489+-0.2352 4.2557+-0.0988 might be 1.0219x faster
minus-boolean 3.3536+-0.1464 ? 3.3582+-0.1640 ?
misc-strict-eq 47.7599+-0.6006 47.7305+-0.5065
mod-boolean-double 12.1165+-0.1183 12.0612+-0.1305
mod-boolean 9.2465+-0.0688 9.2065+-0.1301
mul-boolean-double 4.9010+-0.1478 ? 4.9648+-0.0899 ? might be 1.0130x slower
mul-boolean 3.5518+-0.1723 ? 3.5878+-0.1431 ? might be 1.0101x slower
neg-boolean 4.3962+-0.1260 4.3745+-0.1854
negative-zero-divide 0.6478+-0.1229 0.5942+-0.1275 might be 1.0901x faster
negative-zero-modulo 0.5836+-0.0845 0.5787+-0.1289
negative-zero-negate 0.5790+-0.1422 ? 0.6148+-0.1273 ? might be 1.0619x slower
nested-function-parsing 75.7827+-2.0952 ? 77.3315+-1.0766 ? might be 1.0204x slower
new-array-buffer-dead 152.5742+-1.4982 ? 153.7525+-0.9765 ?
new-array-buffer-push 9.8525+-0.1195 ! 10.2212+-0.0460 ! definitely 1.0374x slower
new-array-dead 18.9433+-0.1127 ? 19.3508+-1.5242 ? might be 1.0215x slower
new-array-push 5.4170+-0.2796 ? 5.5687+-0.1923 ? might be 1.0280x slower
no-inline-constructor 53.5675+-0.3636 ^ 52.2318+-0.5637 ^ definitely 1.0256x faster
number-test 4.3919+-0.1116 ? 4.4415+-0.0880 ? might be 1.0113x slower
object-closure-call 8.1253+-0.2568 8.0228+-0.0383 might be 1.0128x faster
object-get-own-property-symbols-on-large-array
5.5113+-0.5720 5.4760+-0.6202
object-test 4.1956+-0.1358 ? 4.2693+-0.1002 ? might be 1.0176x slower
obvious-sink-pathology-taken 182.4713+-0.8855 181.1935+-2.9969
obvious-sink-pathology 167.8666+-4.3850 166.0779+-2.4580 might be 1.0108x faster
obviously-elidable-new-object 44.2720+-0.7644 44.2031+-1.8942
plus-boolean-arith 3.4180+-0.0574 3.3808+-0.1496 might be 1.0110x faster
plus-boolean-double 4.2617+-0.1186 ? 4.3085+-0.1207 ? might be 1.0110x slower
plus-boolean 3.2759+-0.1022 ? 3.2868+-0.1734 ?
poly-chain-access-different-prototypes-simple
4.8352+-0.0633 ! 5.1346+-0.2249 ! definitely 1.0619x slower
poly-chain-access-different-prototypes 5.3225+-0.0671 ^ 5.1052+-0.0862 ^ definitely 1.0426x faster
poly-chain-access-simpler 4.9485+-0.0256 ! 5.1453+-0.1577 ! definitely 1.0398x slower
poly-chain-access 5.2739+-0.1800 4.9586+-0.1838 might be 1.0636x faster
poly-stricteq 78.6915+-0.1928 ! 82.1193+-0.2212 ! definitely 1.0436x slower
polymorphic-array-call 1.8667+-0.2376 1.8623+-0.2726
polymorphic-get-by-id 4.1716+-0.1100 3.9703+-0.1156 might be 1.0507x faster
polymorphic-put-by-id 38.7449+-2.8137 38.4503+-4.0655
polymorphic-put-by-val-with-string 37.2924+-1.0188 ? 40.3384+-3.7451 ? might be 1.0817x slower
polymorphic-put-by-val-with-symbol 39.3906+-4.3728 ? 40.4742+-3.8606 ? might be 1.0275x slower
polymorphic-structure 25.8304+-0.1406 ^ 24.2927+-0.0713 ^ definitely 1.0633x faster
polyvariant-monomorphic-get-by-id 11.4945+-0.6282 ? 11.7067+-0.3635 ? might be 1.0185x slower
proto-getter-access 10.1514+-0.1512 ? 10.3228+-0.2461 ? might be 1.0169x slower
prototype-access-with-mutating-prototype 7.6656+-0.6158 ? 8.1954+-0.3658 ? might be 1.0691x slower
put-by-id-replace-and-transition 12.5414+-0.3397 ? 12.9879+-0.2502 ? might be 1.0356x slower
put-by-id-slightly-polymorphic 3.6099+-0.1486 3.5972+-0.0818
put-by-id 18.7042+-0.2377 18.4930+-0.2698 might be 1.0114x faster
put-by-val-direct 0.5768+-0.1012 ? 0.6157+-0.1123 ? might be 1.0674x slower
put-by-val-large-index-blank-indexing-type
8.4625+-0.4363 ? 8.6149+-0.2175 ? might be 1.0180x slower
put-by-val-machine-int 3.4620+-0.2369 ? 3.6968+-0.0885 ? might be 1.0678x slower
put-by-val-with-string-replace-and-transition
18.9994+-0.5041 ? 19.3070+-0.4401 ? might be 1.0162x slower
put-by-val-with-string-slightly-polymorphic
4.4488+-0.1892 ? 4.6313+-0.1743 ? might be 1.0410x slower
put-by-val-with-string 19.2207+-0.3108 ? 19.6606+-0.3324 ? might be 1.0229x slower
put-by-val-with-symbol-replace-and-transition
20.7763+-0.5414 ! 21.8465+-0.3135 ! definitely 1.0515x slower
put-by-val-with-symbol-slightly-polymorphic
4.8909+-0.1281 4.6638+-0.1186 might be 1.0487x faster
put-by-val-with-symbol 19.5458+-0.1263 ? 20.0519+-0.5946 ? might be 1.0259x slower
rare-osr-exit-on-local 16.9884+-0.1463 16.8224+-0.0587
register-pressure-from-osr 27.8571+-0.1132 ? 28.1307+-0.1672 ?
repeat-multi-get-by-offset 30.0745+-0.2501 ? 30.3157+-0.1658 ?
setter-prototype 11.2128+-0.3063 ? 11.6188+-0.4451 ? might be 1.0362x slower
setter 7.1215+-0.2129 6.8160+-0.1308 might be 1.0448x faster
simple-activation-demo 35.2613+-0.1259 ^ 34.6395+-0.2107 ^ definitely 1.0180x faster
simple-getter-access 14.0087+-0.0789 ? 14.4598+-0.4887 ? might be 1.0322x slower
simple-poly-call-nested 8.5064+-0.1297 ! 9.2664+-0.2655 ! definitely 1.0893x slower
simple-poly-call 1.6828+-0.1348 ? 1.8630+-0.1044 ? might be 1.1071x slower
sin-boolean 21.3919+-0.9346 20.5170+-0.4942 might be 1.0426x faster
singleton-scope 90.3631+-0.9858 ^ 87.5920+-0.2499 ^ definitely 1.0316x faster
sink-function 13.5897+-0.2451 ? 13.8952+-0.1970 ? might be 1.0225x slower
sink-huge-activation 21.1929+-0.7882 ? 21.4627+-0.5573 ? might be 1.0127x slower
sinkable-new-object-dag 87.9745+-1.7556 87.6378+-1.6548
sinkable-new-object-taken 69.4991+-0.5855 ? 69.6013+-0.5169 ?
sinkable-new-object 48.3228+-0.8083 ? 49.4448+-2.6720 ? might be 1.0232x slower
slow-array-profile-convergence 3.9591+-0.2655 3.8532+-0.2752 might be 1.0275x faster
slow-convergence 3.6533+-0.2022 ? 3.8285+-0.1742 ? might be 1.0479x slower
slow-ternaries 32.9897+-0.0626 ! 34.0713+-0.3212 ! definitely 1.0328x slower
sorting-benchmark 25.5718+-0.7325 ? 26.6539+-1.0240 ? might be 1.0423x slower
sparse-conditional 1.6493+-0.1244 ? 1.7526+-0.1109 ? might be 1.0626x slower
splice-to-remove 20.0781+-0.4161 19.8680+-0.2761 might be 1.0106x faster
string-char-code-at 20.6995+-0.1747 ! 21.3597+-0.1136 ! definitely 1.0319x slower
string-concat-object 3.2504+-0.0899 ? 3.3731+-0.1358 ? might be 1.0378x slower
string-concat-pair-object 3.1163+-0.1525 ? 3.4258+-0.2881 ? might be 1.0993x slower
string-concat-pair-simple 17.2665+-0.2706 ? 17.5527+-0.1602 ? might be 1.0166x slower
string-concat-simple 18.0414+-0.4277 18.0045+-0.7267
string-cons-repeat 11.6718+-0.1587 ! 12.0123+-0.0694 ! definitely 1.0292x slower
string-cons-tower 11.1043+-0.1615 10.9380+-0.0552 might be 1.0152x faster
string-equality 25.3095+-0.0891 ^ 23.3574+-0.1021 ^ definitely 1.0836x faster
string-get-by-val-big-char 9.9627+-0.3243 ! 10.9963+-0.3312 ! definitely 1.1037x slower
string-get-by-val-out-of-bounds-insane 5.1257+-0.2642 5.0955+-0.2916
string-get-by-val-out-of-bounds 6.9218+-0.0982 ? 6.9869+-0.1603 ?
string-get-by-val 4.8026+-0.1040 ? 4.8405+-0.1285 ?
string-hash 2.8820+-0.0512 ? 2.8932+-0.3495 ?
string-long-ident-equality 20.6058+-0.2778 ^ 19.1530+-0.2745 ^ definitely 1.0759x faster
string-out-of-bounds 15.0514+-0.0887 ! 15.5713+-0.4121 ! definitely 1.0345x slower
string-repeat-arith 46.3447+-1.1603 44.9937+-1.7432 might be 1.0300x faster
string-sub 89.1478+-1.8926 88.8824+-2.3440
string-test 4.3516+-0.2229 ? 4.5216+-0.1996 ? might be 1.0391x slower
string-var-equality 46.4541+-0.1841 ! 61.1758+-1.8536 ! definitely 1.3169x slower
structure-hoist-over-transitions 3.3184+-0.1690 ! 3.6569+-0.0667 ! definitely 1.1020x slower
substring-concat-weird 59.9553+-0.6730 ? 61.1544+-1.1429 ? might be 1.0200x slower
substring-concat 65.3174+-0.2529 ! 66.1031+-0.3448 ! definitely 1.0120x slower
substring 71.8577+-0.2806 ? 72.2153+-0.6596 ?
switch-char-constant 3.3586+-0.1165 ? 3.3975+-0.1435 ? might be 1.0116x slower
switch-char 8.0619+-0.1467 7.9807+-0.1040 might be 1.0102x faster
switch-constant 14.2111+-2.0979 13.6503+-0.2539 might be 1.0411x faster
switch-string-basic-big-var 32.1525+-0.2322 ? 32.4703+-0.6062 ?
switch-string-basic-big 30.6976+-0.7711 29.0456+-1.1405 might be 1.0569x faster
switch-string-basic-var 29.6719+-0.8855 ! 32.8151+-1.3267 ! definitely 1.1059x slower
switch-string-basic 19.8212+-0.6875 ? 22.0967+-1.5976 ? might be 1.1148x slower
switch-string-big-length-tower-var 27.9340+-0.1611 ! 28.6083+-0.4354 ! definitely 1.0241x slower
switch-string-length-tower-var 21.3177+-0.4208 ? 21.4591+-0.0749 ?
switch-string-length-tower 14.8754+-0.1755 ? 15.4775+-0.4466 ? might be 1.0405x slower
switch-string-short 14.8463+-0.0715 ! 15.3393+-0.1337 ! definitely 1.0332x slower
switch 17.3847+-2.4054 17.2663+-1.9261
tear-off-arguments-simple 4.4540+-0.2295 4.4034+-0.2286 might be 1.0115x faster
tear-off-arguments 6.4727+-0.5658 ? 6.7120+-0.3017 ? might be 1.0370x slower
temporal-structure 18.0623+-0.2414 ^ 16.9745+-0.2993 ^ definitely 1.0641x faster
to-int32-boolean 21.6496+-0.1473 ? 21.6923+-0.2134 ?
try-catch-get-by-val-cloned-arguments 20.9556+-0.2850 ? 20.9960+-0.0663 ?
try-catch-get-by-val-direct-arguments 9.8060+-0.1460 ? 10.1013+-0.2921 ? might be 1.0301x slower
try-catch-get-by-val-scoped-arguments 11.6102+-0.5341 11.3101+-0.3027 might be 1.0265x faster
typed-array-get-set-by-val-profiling 35.5653+-1.1196 ^ 33.4606+-0.7347 ^ definitely 1.0629x faster
undefined-property-access 482.5085+-3.7222 ! 491.7103+-4.4446 ! definitely 1.0191x slower
undefined-test 4.6265+-0.3027 ? 4.6274+-0.1438 ?
unprofiled-licm 24.3152+-0.1487 ? 24.3284+-0.0950 ?
varargs-call 18.3865+-0.1909 ! 18.9517+-0.3574 ! definitely 1.0307x slower
varargs-construct-inline 37.1505+-1.0489 ? 37.2438+-0.1649 ?
varargs-construct 30.1803+-0.4591 ! 30.9513+-0.2914 ! definitely 1.0255x slower
varargs-inline 12.1935+-0.2009 ! 12.6351+-0.2187 ! definitely 1.0362x slower
varargs-strict-mode 14.1397+-0.0786 ! 15.0109+-0.1786 ! definitely 1.0616x slower
varargs 14.0467+-0.2247 ! 14.8665+-0.0940 ! definitely 1.0584x slower
weird-inlining-const-prop 2.8640+-0.1563 ? 3.0890+-0.1133 ? might be 1.0786x slower
<geometric> 11.8475+-0.0334 ! 11.9817+-0.0319 ! definitely 1.0113x slower
Baseline CalleeSaves
AsmBench:
bigfib.cpp 700.0009+-6.5306 ? 706.4688+-4.3543 ?
cray.c 650.5345+-9.2952 647.0410+-3.2439
dry.c 716.3133+-0.7882 691.8907+-81.1479 might be 1.0353x faster
FloatMM.c 960.8315+-1.6982 959.8122+-1.1292
gcc-loops.cpp 6222.5687+-4.7303 ? 6227.8917+-22.8899 ?
n-body.c 1745.5381+-1.6220 1745.1699+-1.1878
Quicksort.c 594.2045+-12.2319 ? 595.1923+-9.2675 ?
stepanov_container.cpp 5130.1576+-24.2332 5067.3857+-42.9528 might be 1.0124x faster
Towers.c 427.0610+-3.6739 ^ 419.5034+-1.3993 ^ definitely 1.0180x faster
<geometric> 1179.8745+-0.8660 1171.8219+-16.0531 might be 1.0069x faster
Baseline CalleeSaves
CompressionBench:
huffman 85.0293+-3.4450 ? 85.4495+-2.1356 ?
arithmetic-simple 452.6348+-1.5141 ^ 449.1195+-1.2334 ^ definitely 1.0078x faster
arithmetic-precise 379.4055+-7.3183 378.2310+-3.5969
arithmetic-complex-precise 375.4926+-1.2018 ? 376.4345+-2.7825 ?
arithmetic-precise-order-0 462.6586+-1.1742 ^ 460.2200+-1.0859 ^ definitely 1.0053x faster
arithmetic-precise-order-1 448.5193+-4.0628 ^ 433.0286+-2.6180 ^ definitely 1.0358x faster
arithmetic-precise-order-2 511.0580+-5.8973 502.1868+-7.1247 might be 1.0177x faster
arithmetic-simple-order-1 524.5217+-3.1771 519.0538+-5.7873 might be 1.0105x faster
arithmetic-simple-order-2 590.3109+-2.0380 ^ 576.4360+-3.0474 ^ definitely 1.0241x faster
lz-string 439.1639+-9.8846 ? 446.5676+-8.0396 ? might be 1.0169x slower
<geometric> 388.8524+-2.4690 385.8004+-1.2727 might be 1.0079x faster
Baseline CalleeSaves
Geomean of preferred means:
<scaled-result> 81.8188+-0.3020 ? 82.0980+-0.2888 ? might be 1.0034x slower
Attachment 260867 [details] did not pass style-queue:
ERROR: Source/JavaScriptCore/jit/JIT.cpp:497: One space before end of line comments [whitespace/comments] [5]
Total errors found: 1 in 59 files
If any of these errors are false positives, please file a bug against check-webkit-style.
(In reply to comment #15) > Attachment 260867 [details] did not pass style-queue: > > > ERROR: Source/JavaScriptCore/jit/JIT.cpp:497: One space before end of line > comments [whitespace/comments] [5] > Total errors found: 1 in 59 files > > > If any of these errors are false positives, please file a bug against > check-webkit-style. Fixed locally. Comment on attachment 260867 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=260867&action=review > Source/JavaScriptCore/ftl/FTLLink.cpp:58 > // FIXME: Need to know the real frame register count. > // https://bugs.webkit.org/show_bug.cgi?id=125727 > - state.jitCode->common.frameRegisterCount = 1000; > + state.jitCode->common.frameRegisterCount = state.jitCode->stackmaps.stackSizeForLocals() / sizeof(void*); Does this change resolve the FIXME above? (In reply to comment #17) > Comment on attachment 260867 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=260867&action=review > > > Source/JavaScriptCore/ftl/FTLLink.cpp:58 > > // FIXME: Need to know the real frame register count. > > // https://bugs.webkit.org/show_bug.cgi?id=125727 > > - state.jitCode->common.frameRegisterCount = 1000; > > + state.jitCode->common.frameRegisterCount = state.jitCode->stackmaps.stackSizeForLocals() / sizeof(void*); > > Does this change resolve the FIXME above? Yes, it does. The change was also posted to https://bugs.webkit.org/show_bug.cgi?id=125727. I'll remove the FIXME comment. Created attachment 260880 [details]
Patch with suggested fixes and fix for win32 build
Comment on attachment 260880 [details]
Patch with suggested fixes and fix for win32 build
I buy it!
Committed r189575: <http://trac.webkit.org/changeset/189575> |