WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
144409
DFG Is<Blah> versions of TypeOf should fold based on proven input type
https://bugs.webkit.org/show_bug.cgi?id=144409
Summary
DFG Is<Blah> versions of TypeOf should fold based on proven input type
Filip Pizlo
Reported
2015-04-29 14:31:56 PDT
Patch forthcoming.
Attachments
the patch
(49.48 KB, patch)
2015-04-29 19:09 PDT
,
Filip Pizlo
ggaren
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2015-04-29 19:09:00 PDT
Created
attachment 252024
[details]
the patch Still testing.
Filip Pizlo
Comment 2
2015-04-29 20:23:20 PDT
It does what it's supposed to do: Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on dethklok (MacBookPro9,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (
r183602
) "FoldIsBlah" at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (
r183602
) 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 FoldIsBlah SunSpider: 3d-cube 5.2610+-0.1213 ? 5.2811+-0.2528 ? 3d-morph 5.7855+-0.1552 5.7697+-0.0938 3d-raytrace 6.5436+-0.0971 6.5284+-0.1011 access-binary-trees 2.2102+-0.1125 ? 2.3667+-0.1526 ? might be 1.0708x slower access-fannkuch 6.1268+-0.1568 6.0251+-0.1672 might be 1.0169x faster access-nbody 2.9449+-0.2493 2.9333+-0.1166 access-nsieve 3.5039+-0.3858 3.3274+-0.0819 might be 1.0530x faster bitops-3bit-bits-in-byte 1.5420+-0.0198 ? 1.6050+-0.1333 ? might be 1.0408x slower bitops-bits-in-byte 3.5162+-0.3204 3.3079+-0.0479 might be 1.0630x faster bitops-bitwise-and 2.1493+-0.0512 ? 2.1748+-0.1285 ? might be 1.0119x slower bitops-nsieve-bits 3.3182+-0.0456 ! 3.5651+-0.1523 ! definitely 1.0744x slower controlflow-recursive 2.2133+-0.0352 ? 2.5216+-0.2904 ? might be 1.1393x slower crypto-aes 4.5183+-0.1988 ? 5.0359+-1.5961 ? might be 1.1146x slower crypto-md5 2.7415+-0.0895 ? 2.7568+-0.0833 ? crypto-sha1 2.6805+-0.2632 ? 2.7939+-0.2711 ? might be 1.0423x slower date-format-tofte 9.4432+-0.3644 ? 9.4707+-0.2448 ? date-format-xparb 5.7747+-0.1343 ? 6.2277+-1.1668 ? might be 1.0784x slower math-cordic 3.1809+-0.1085 3.0951+-0.0874 might be 1.0278x faster math-partial-sums 5.1880+-0.0965 ? 5.6412+-0.6819 ? might be 1.0873x slower math-spectral-norm 1.9288+-0.0801 ? 2.1010+-0.5351 ? might be 1.0893x slower regexp-dna 7.1833+-0.1074 ? 7.2404+-0.1635 ? string-base64 4.8807+-0.6855 4.7254+-0.1520 might be 1.0329x faster string-fasta 6.6701+-0.1634 ? 6.7811+-0.1199 ? might be 1.0166x slower string-tagcloud 10.1338+-1.2562 9.7338+-0.7593 might be 1.0411x faster string-unpack-code 19.3707+-0.5095 19.2923+-0.5401 string-validate-input 4.8741+-0.0724 ? 4.9320+-0.1224 ? might be 1.0119x slower <arithmetic> 5.1417+-0.0295 ? 5.2013+-0.0988 ? might be 1.0116x slower TipOfTree FoldIsBlah LongSpider: 3d-cube 868.6934+-6.8360 ? 871.6991+-10.5941 ? 3d-morph 1544.5434+-17.3147 1535.7220+-11.7650 3d-raytrace 736.0288+-8.4675 733.5576+-3.5679 access-binary-trees 1029.4556+-10.9870 ? 1036.4010+-6.6175 ? access-fannkuch 336.1115+-10.7271 327.2042+-10.8364 might be 1.0272x faster access-nbody 613.7266+-5.4490 610.9593+-1.0358 access-nsieve 875.0171+-10.5312 865.8153+-6.7859 might be 1.0106x faster bitops-3bit-bits-in-byte 44.4884+-0.3732 ? 44.6268+-1.1091 ? bitops-bits-in-byte 101.7821+-2.2440 101.7027+-0.7973 bitops-nsieve-bits 639.3554+-6.6857 635.5459+-4.4406 controlflow-recursive 481.0785+-6.7660 ? 486.2969+-5.7704 ? might be 1.0108x slower crypto-aes 705.5277+-6.6785 703.4562+-6.3806 crypto-md5 526.6530+-7.8721 526.3613+-2.7357 crypto-sha1 601.4713+-7.1349 ? 605.9780+-6.8395 ? date-format-tofte 758.7179+-21.3598 752.3047+-9.0901 date-format-xparb 789.2549+-20.7571 779.7400+-19.6860 might be 1.0122x faster math-cordic 591.1934+-2.8824 ? 594.9815+-5.9344 ? math-partial-sums 505.2236+-2.1672 ? 506.8837+-3.1804 ? math-spectral-norm 568.1899+-4.6489 567.1621+-7.2049 string-base64 382.0851+-8.5571 ? 382.7267+-5.8275 ? string-fasta 435.7965+-3.2067 ? 447.3440+-9.4899 ? might be 1.0265x slower string-tagcloud 199.5548+-3.8283 195.6214+-2.2307 might be 1.0201x faster <geometric> 495.1639+-2.5517 494.3915+-1.2266 might be 1.0016x faster TipOfTree FoldIsBlah V8Spider: crypto 56.9185+-0.3052 56.1290+-1.2766 might be 1.0141x faster deltablue 96.6147+-6.3703 ? 99.0321+-5.8147 ? might be 1.0250x slower earley-boyer 45.2196+-1.2658 44.6857+-0.7687 might be 1.0119x faster raytrace 43.3547+-3.7774 40.9347+-2.4339 might be 1.0591x faster regexp 81.5682+-2.2262 ? 83.2183+-1.4530 ? might be 1.0202x slower richards 80.3209+-1.3411 79.6392+-1.7077 splay 39.7518+-2.2404 ? 40.6357+-1.1468 ? might be 1.0222x slower <geometric> 59.9732+-0.6617 59.7836+-0.7339 might be 1.0032x faster TipOfTree FoldIsBlah Octane: encrypt 0.20366+-0.00330 ? 0.20477+-0.00285 ? decrypt 3.56541+-0.03834 ? 3.56699+-0.03218 ? deltablue x2 0.20864+-0.00129 ? 0.21020+-0.00216 ? earley 0.54143+-0.00471 0.53910+-0.00371 boyer 6.68674+-0.05515 ? 6.69482+-0.05382 ? navier-stokes x2 5.18831+-0.02146 ? 5.24120+-0.06621 ? might be 1.0102x slower raytrace x2 1.28965+-0.03072 1.26824+-0.04897 might be 1.0169x faster richards x2 0.12335+-0.00154 ? 0.12448+-0.00157 ? splay x2 0.40000+-0.00391 ? 0.40837+-0.00549 ? might be 1.0209x slower regexp x2 32.04929+-0.45371 31.99113+-0.36325 pdfjs x2 43.87325+-0.25958 43.83434+-0.29194 mandreel x2 50.31402+-0.48082 ? 50.32067+-0.53803 ? gbemu x2 41.73607+-0.82586 ? 43.38834+-3.02163 ? might be 1.0396x slower closure 0.58709+-0.07663 0.55757+-0.00956 might be 1.0529x faster jquery 7.11774+-0.05949 ? 7.11924+-0.08514 ? box2d x2 12.29127+-0.10848 12.27133+-0.06598 zlib x2 395.10438+-3.31505 393.50321+-1.42687 typescript x2 844.99215+-3.33247 841.41182+-19.68099 <geometric> 6.75079+-0.02566 ? 6.76592+-0.05121 ? might be 1.0022x slower TipOfTree FoldIsBlah Kraken: ai-astar 271.942+-3.198 ? 272.878+-5.767 ? audio-beat-detection 107.501+-0.846 106.814+-0.939 audio-dft 151.276+-2.275 ? 193.630+-111.157 ? might be 1.2800x slower audio-fft 85.567+-4.584 ? 88.278+-0.439 ? might be 1.0317x slower audio-oscillator 207.813+-1.983 ? 208.504+-1.708 ? imaging-darkroom 105.783+-2.479 ? 106.436+-1.390 ? imaging-desaturate 63.263+-1.156 63.134+-1.569 imaging-gaussian-blur 124.920+-32.832 112.924+-2.749 might be 1.1062x faster json-parse-financial 44.339+-1.020 ? 45.028+-1.365 ? might be 1.0156x slower json-stringify-tinderbox 57.321+-2.138 ? 57.583+-2.523 ? stanford-crypto-aes 63.625+-0.681 ? 63.664+-1.978 ? stanford-crypto-ccm 58.618+-6.446 ? 60.403+-6.447 ? might be 1.0305x slower stanford-crypto-pbkdf2 169.979+-4.976 167.222+-2.439 might be 1.0165x faster stanford-crypto-sha256-iterative 56.589+-2.118 ? 57.910+-3.978 ? might be 1.0234x slower <arithmetic> 112.038+-2.104 ? 114.601+-7.899 ? might be 1.0229x slower TipOfTree FoldIsBlah JSRegress: abs-boolean 2.6576+-0.0622 ? 2.6859+-0.0981 ? might be 1.0106x slower adapt-to-double-divide 16.6764+-0.2840 ? 16.6771+-0.1814 ? aliased-arguments-getbyval 1.2059+-0.0473 ? 1.2826+-0.1462 ? might be 1.0636x slower allocate-big-object 2.9055+-0.1524 2.7994+-0.1188 might be 1.0379x faster arguments-named-and-reflective 13.5117+-1.2725 13.3837+-1.6732 arguments-out-of-bounds 15.1315+-0.6946 14.8483+-0.2693 might be 1.0191x faster arguments-strict-mode 12.2786+-1.2116 ? 12.3051+-0.8687 ? arguments 10.9340+-0.5914 ? 10.9540+-1.3167 ? arity-mismatch-inlining 0.8319+-0.0310 ? 0.9137+-0.1515 ? might be 1.0983x slower array-access-polymorphic-structure 6.8551+-0.1090 ? 6.8722+-0.1701 ? array-nonarray-polymorhpic-access 35.1698+-1.1291 34.3298+-1.6032 might be 1.0245x faster array-prototype-every 85.4472+-1.9845 ? 87.7153+-2.2740 ? might be 1.0265x slower array-prototype-forEach 86.4113+-2.2794 86.2933+-1.3926 array-prototype-map 94.1704+-0.9604 ? 95.3857+-4.1657 ? might be 1.0129x slower array-prototype-some 88.1468+-3.5634 ? 89.9835+-2.7073 ? might be 1.0208x slower array-splice-contiguous 41.2075+-0.4822 ! 44.0875+-1.2279 ! definitely 1.0699x slower array-with-double-add 4.3391+-0.5129 4.2444+-0.3134 might be 1.0223x faster array-with-double-increment 3.2355+-0.1160 3.2003+-0.0431 might be 1.0110x faster array-with-double-mul-add 5.0886+-0.1228 5.0696+-0.1935 array-with-double-sum 3.2782+-0.0427 ? 3.4124+-0.2946 ? might be 1.0409x slower array-with-int32-add-sub 6.8074+-0.1059 ? 6.8462+-0.2516 ? array-with-int32-or-double-sum 3.3016+-0.0244 ? 3.3654+-0.1779 ? might be 1.0193x slower ArrayBuffer-DataView-alloc-large-long-lived 34.3882+-1.5373 33.3022+-2.3218 might be 1.0326x faster ArrayBuffer-DataView-alloc-long-lived 14.4486+-1.3930 14.0585+-1.3957 might be 1.0277x faster ArrayBuffer-Int32Array-byteOffset 3.9732+-0.5173 3.8178+-0.0324 might be 1.0407x faster ArrayBuffer-Int8Array-alloc-large-long-lived 34.6740+-1.9976 34.3195+-1.5334 might be 1.0103x faster ArrayBuffer-Int8Array-alloc-long-lived-buffer 23.8030+-1.8852 22.4767+-1.6632 might be 1.0590x faster ArrayBuffer-Int8Array-alloc-long-lived 14.1178+-1.7080 ? 14.5058+-1.4409 ? might be 1.0275x slower ArrayBuffer-Int8Array-alloc 12.8990+-1.3015 11.1895+-1.1278 might be 1.1528x faster asmjs_bool_bug 7.6908+-0.1702 7.6796+-0.1195 assign-custom-setter-polymorphic 3.6495+-0.5814 3.4661+-0.7953 might be 1.0529x faster assign-custom-setter 4.4061+-0.0532 ? 4.6346+-0.5924 ? might be 1.0519x slower basic-set 8.4917+-0.1894 ? 8.5509+-0.2291 ? big-int-mul 4.0031+-0.0700 ? 4.0511+-0.1338 ? might be 1.0120x slower boolean-test 3.0793+-0.1168 3.0550+-0.0651 branch-fold 3.7983+-0.1182 3.6663+-0.0164 might be 1.0360x faster branch-on-string-as-boolean 19.4959+-1.7217 18.8952+-0.3727 might be 1.0318x faster by-val-generic 8.0457+-0.1962 ? 8.1750+-0.4530 ? might be 1.0161x slower call-spread-apply 31.0175+-1.3321 30.7705+-1.0941 call-spread-call 26.2174+-1.6686 25.4056+-1.0949 might be 1.0320x faster captured-assignments 0.4519+-0.0490 0.4516+-0.0434 cast-int-to-double 5.3283+-0.1321 ? 5.3783+-0.1624 ? cell-argument 8.7884+-0.7384 ? 9.1040+-1.3719 ? might be 1.0359x slower cfg-simplify 3.1684+-0.1403 2.9930+-0.1533 might be 1.0586x faster chain-getter-access 9.8873+-0.2174 ? 9.9914+-0.1270 ? might be 1.0105x slower cmpeq-obj-to-obj-other 11.4972+-0.9663 ? 11.8498+-0.9773 ? might be 1.0307x slower constant-test 4.9467+-0.0332 ? 5.1197+-0.3400 ? might be 1.0350x slower create-lots-of-functions 11.8760+-0.3358 11.7226+-0.4166 might be 1.0131x faster DataView-custom-properties 38.6459+-2.4500 ? 43.0361+-11.5513 ? might be 1.1136x slower deconstructing-parameters-overridden-by-function 0.4847+-0.0153 ? 0.5122+-0.0591 ? might be 1.0568x slower delay-tear-off-arguments-strictmode 13.9255+-0.2830 ? 14.4712+-0.9842 ? might be 1.0392x slower deltablue-varargs 202.3660+-4.4151 201.3988+-1.7813 destructuring-arguments 17.9991+-0.2734 ? 18.1127+-0.6722 ? destructuring-swap 5.1476+-0.1274 5.0725+-0.0693 might be 1.0148x faster direct-arguments-getbyval 1.1880+-0.0455 ? 1.3286+-0.2541 ? might be 1.1184x slower div-boolean-double 5.2109+-0.0196 5.2099+-0.0416 div-boolean 7.8565+-0.1031 7.8395+-0.1848 double-get-by-val-out-of-bounds 4.7616+-0.3240 4.6103+-0.1077 might be 1.0328x faster double-pollution-getbyval 8.8204+-0.0555 ? 8.9080+-0.1094 ? double-pollution-putbyoffset 4.4505+-0.2939 4.3272+-0.1393 might be 1.0285x faster double-to-int32-typed-array-no-inline 2.2884+-0.0680 ? 2.3346+-0.1510 ? might be 1.0202x slower double-to-int32-typed-array 1.9030+-0.1340 1.8853+-0.0265 double-to-uint32-typed-array-no-inline 2.3720+-0.1044 2.3204+-0.0858 might be 1.0222x faster double-to-uint32-typed-array 2.0135+-0.0995 ? 2.1860+-0.2923 ? might be 1.0857x slower elidable-new-object-dag 43.9347+-1.2466 ? 45.0214+-1.0428 ? might be 1.0247x slower elidable-new-object-roflcopter 46.9397+-1.7342 46.4719+-1.5962 might be 1.0101x faster elidable-new-object-then-call 40.3896+-2.5322 39.5664+-1.6921 might be 1.0208x faster elidable-new-object-tree 46.1445+-1.1312 45.7276+-1.3513 empty-string-plus-int 5.4235+-0.0891 ? 5.4489+-0.1078 ? emscripten-cube2hash 39.0290+-0.6292 38.2794+-1.3493 might be 1.0196x faster exit-length-on-plain-object 14.2246+-0.4898 ? 14.2627+-1.1455 ? external-arguments-getbyval 1.2017+-0.0482 ? 1.2048+-0.0828 ? external-arguments-putbyval 2.3820+-0.2210 2.3343+-0.0830 might be 1.0204x faster fixed-typed-array-storage-var-index 1.1840+-0.0284 ? 1.2260+-0.0500 ? might be 1.0355x slower fixed-typed-array-storage 0.9203+-0.0296 ? 0.9364+-0.0473 ? might be 1.0176x slower Float32Array-matrix-mult 4.6278+-0.1766 4.4976+-0.1987 might be 1.0290x faster Float32Array-to-Float64Array-set 54.9849+-2.0625 52.9318+-2.1678 might be 1.0388x faster Float64Array-alloc-long-lived 74.4717+-1.7357 74.1218+-1.7699 Float64Array-to-Int16Array-set 70.8234+-0.9020 68.9178+-1.7952 might be 1.0277x faster fold-double-to-int 13.4824+-0.3441 ? 13.5234+-0.2073 ? fold-get-by-id-to-multi-get-by-offset-rare-int 10.8145+-0.9158 ? 10.9875+-1.7530 ? might be 1.0160x slower fold-get-by-id-to-multi-get-by-offset 10.4703+-0.9141 9.9562+-0.6480 might be 1.0516x faster fold-multi-get-by-offset-to-get-by-offset 9.6538+-0.9802 9.3356+-0.9043 might be 1.0341x faster fold-multi-get-by-offset-to-poly-get-by-offset 9.4618+-1.1665 9.1536+-0.8509 might be 1.0337x faster fold-multi-put-by-offset-to-poly-put-by-offset 8.0766+-1.8154 ? 8.1603+-2.0506 ? might be 1.0104x slower fold-multi-put-by-offset-to-put-by-offset 4.9979+-0.3844 ? 6.0584+-1.0555 ? might be 1.2122x slower fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 9.9265+-0.5881 9.4904+-0.3691 might be 1.0459x faster fold-put-by-id-to-multi-put-by-offset 9.7052+-1.3129 ? 10.6948+-2.3605 ? might be 1.1020x slower fold-put-structure 5.2018+-1.3240 ? 5.2837+-0.7865 ? might be 1.0157x slower for-of-iterate-array-entries 4.7422+-0.3224 ? 4.7495+-0.1511 ? for-of-iterate-array-keys 3.8935+-0.2601 ? 3.9462+-0.3051 ? might be 1.0135x slower for-of-iterate-array-values 3.8407+-0.4328 3.7636+-0.1787 might be 1.0205x faster fround 20.9087+-0.8683 ? 21.2120+-0.6869 ? might be 1.0145x slower ftl-library-inlining-dataview 70.9073+-2.1370 ? 75.6340+-3.9097 ? might be 1.0667x slower ftl-library-inlining 68.2472+-5.8347 ? 73.1604+-17.2495 ? might be 1.0720x slower function-dot-apply 2.2190+-0.0903 ? 2.2461+-0.1111 ? might be 1.0122x slower function-test 3.3764+-0.0502 3.3555+-0.0441 function-with-eval 103.8232+-1.6769 ? 107.6781+-3.4381 ? might be 1.0371x slower gcse-poly-get-less-obvious 19.3468+-1.5737 18.8837+-0.4572 might be 1.0245x faster gcse-poly-get 23.8755+-2.3392 20.9290+-1.3896 might be 1.1408x faster gcse 4.3862+-0.1743 ? 4.5142+-0.3840 ? might be 1.0292x slower get-by-id-bimorphic-check-structure-elimination-simple 2.8381+-0.3450 2.7202+-0.0270 might be 1.0433x faster get-by-id-bimorphic-check-structure-elimination 6.1273+-0.2016 ? 6.4647+-0.8681 ? might be 1.0551x slower get-by-id-chain-from-try-block 6.8701+-0.5861 ? 7.0145+-1.0968 ? might be 1.0210x slower get-by-id-check-structure-elimination 5.2145+-0.1571 5.1291+-0.1123 might be 1.0167x faster get-by-id-proto-or-self 16.9018+-0.3993 ? 17.0398+-0.7763 ? get-by-id-quadmorphic-check-structure-elimination-simple 3.1590+-0.0409 ? 3.1592+-0.0752 ? get-by-id-self-or-proto 17.4526+-0.6151 ? 17.5573+-0.4369 ? get-by-val-out-of-bounds 4.3864+-0.0987 ? 4.4825+-0.1771 ? might be 1.0219x slower get_callee_monomorphic 2.8551+-0.0287 2.8525+-0.0626 get_callee_polymorphic 3.9913+-0.3747 3.9897+-0.3701 getter-no-activation 5.1497+-0.2868 ? 5.1563+-0.3623 ? getter-richards 128.4798+-5.5793 125.1778+-8.5036 might be 1.0264x faster getter 5.5380+-0.5822 5.2870+-0.0816 might be 1.0475x faster global-var-const-infer-fire-from-opt 0.9585+-0.0880 ? 0.9976+-0.1074 ? might be 1.0409x slower global-var-const-infer 0.8036+-0.1625 0.7875+-0.0897 might be 1.0204x faster HashMap-put-get-iterate-keys 25.8281+-0.3680 25.5144+-0.3283 might be 1.0123x faster HashMap-put-get-iterate 25.8216+-0.6348 ? 26.1025+-0.8089 ? might be 1.0109x slower HashMap-string-put-get-iterate 27.5682+-1.2896 ? 27.7568+-0.9607 ? hoist-make-rope 12.5433+-0.9591 12.0017+-0.9200 might be 1.0451x faster hoist-poly-check-structure-effectful-loop 5.0051+-0.0302 4.9889+-0.0800 hoist-poly-check-structure 3.7888+-0.2620 3.7878+-0.3036 imul-double-only 9.0203+-0.2175 8.9681+-0.0967 imul-int-only 10.0196+-1.0350 9.8348+-0.1542 might be 1.0188x faster imul-mixed 8.8040+-0.5540 8.1346+-0.7197 might be 1.0823x faster in-four-cases 20.8022+-0.3605 20.7765+-0.3384 in-one-case-false 10.0623+-0.4273 ? 10.1017+-0.4241 ? in-one-case-true 10.3684+-0.7062 ? 10.4381+-0.8373 ? in-two-cases 10.5227+-0.5210 ? 10.6548+-0.4627 ? might be 1.0125x slower indexed-properties-in-objects 3.1468+-0.2926 2.9322+-0.0735 might be 1.0732x faster infer-closure-const-then-mov-no-inline 4.1066+-0.5415 3.9011+-0.0490 might be 1.0527x faster infer-closure-const-then-mov 20.0209+-0.4314 19.7923+-0.2651 might be 1.0115x faster infer-closure-const-then-put-to-scope-no-inline 14.7142+-1.5015 14.1711+-0.2605 might be 1.0383x faster infer-closure-const-then-put-to-scope 24.3993+-1.7550 22.7433+-0.3291 might be 1.0728x faster infer-closure-const-then-reenter-no-inline 62.0204+-0.6946 ? 63.8149+-3.2131 ? might be 1.0289x slower infer-closure-const-then-reenter 24.2881+-1.9825 22.6379+-1.1500 might be 1.0729x faster infer-constant-global-property 31.7634+-2.0068 30.6290+-1.8043 might be 1.0370x faster infer-constant-property 2.7424+-0.1451 2.6933+-0.0405 might be 1.0182x faster infer-one-time-closure-ten-vars 12.6663+-0.8497 ? 12.8798+-1.7744 ? might be 1.0169x slower infer-one-time-closure-two-vars 12.7852+-0.9268 12.1309+-0.2812 might be 1.0539x faster infer-one-time-closure 12.1813+-0.2177 ? 12.5691+-0.8221 ? might be 1.0318x slower infer-one-time-deep-closure 21.4611+-1.4856 ? 21.7780+-1.8407 ? might be 1.0148x slower inline-arguments-access 4.7032+-0.1891 4.6945+-0.1278 inline-arguments-aliased-access 4.6884+-0.1585 4.6560+-0.0713 inline-arguments-local-escape 4.6879+-0.2062 ? 5.0073+-0.4371 ? might be 1.0681x slower inline-get-scoped-var 4.8397+-0.2344 4.8105+-0.1567 inlined-put-by-id-transition 11.5747+-0.4792 ? 11.8219+-0.6791 ? might be 1.0214x slower int-or-other-abs-then-get-by-val 4.7325+-0.1123 ? 4.7459+-0.1350 ? int-or-other-abs-zero-then-get-by-val 18.0419+-1.6808 17.7602+-1.2442 might be 1.0159x faster int-or-other-add-then-get-by-val 4.2987+-0.1367 4.2637+-0.1247 int-or-other-add 5.3776+-0.1156 5.2940+-0.0385 might be 1.0158x faster int-or-other-div-then-get-by-val 4.4419+-0.2560 4.3608+-0.2073 might be 1.0186x faster int-or-other-max-then-get-by-val 4.4617+-0.3489 ? 4.5244+-0.4704 ? might be 1.0141x slower int-or-other-min-then-get-by-val 4.3472+-0.0565 ? 4.3489+-0.0359 ? int-or-other-mod-then-get-by-val 3.9375+-0.0471 ? 4.0462+-0.3314 ? might be 1.0276x slower int-or-other-mul-then-get-by-val 4.0022+-0.1286 3.9799+-0.0497 int-or-other-neg-then-get-by-val 4.4675+-0.0295 ? 4.5227+-0.1101 ? might be 1.0124x slower int-or-other-neg-zero-then-get-by-val 17.1338+-0.8893 ? 17.4510+-0.5830 ? might be 1.0185x slower int-or-other-sub-then-get-by-val 4.6231+-0.1877 4.6073+-0.1823 int-or-other-sub 3.5216+-0.1098 3.5027+-0.0668 int-overflow-local 4.6921+-0.3901 4.6120+-0.1922 might be 1.0174x faster Int16Array-alloc-long-lived 53.7392+-1.8850 ? 54.4996+-1.3866 ? might be 1.0142x slower Int16Array-bubble-sort-with-byteLength 20.5927+-0.6093 ? 20.7932+-0.8476 ? Int16Array-bubble-sort 20.0695+-0.6877 19.8360+-0.4930 might be 1.0118x faster Int16Array-load-int-mul 1.5050+-0.0788 ? 1.5509+-0.0862 ? might be 1.0305x slower Int16Array-to-Int32Array-set 61.9548+-2.4041 58.1052+-1.9099 might be 1.0663x faster Int32Array-alloc-large 24.4725+-0.9827 24.1066+-0.3357 might be 1.0152x faster Int32Array-alloc-long-lived 57.5936+-1.2319 ? 58.2113+-2.1739 ? might be 1.0107x slower Int32Array-alloc 3.6345+-0.1338 ? 3.7371+-0.5404 ? might be 1.0282x slower Int32Array-Int8Array-view-alloc 7.3162+-1.1495 ? 7.3319+-1.1637 ? int52-spill 6.3260+-0.1092 ? 6.5047+-0.4289 ? might be 1.0282x slower Int8Array-alloc-long-lived 48.1070+-1.5969 47.2887+-1.4996 might be 1.0173x faster Int8Array-load-with-byteLength 3.4161+-0.3352 ? 3.4886+-0.4271 ? might be 1.0212x slower Int8Array-load 3.3034+-0.0434 ? 3.6947+-0.4725 ? might be 1.1184x slower integer-divide 11.1332+-0.1493 ? 13.0127+-4.1950 ? might be 1.1688x slower integer-modulo 1.9992+-0.0466 ? 2.1167+-0.2469 ? might be 1.0588x slower is-boolean-fold-tricky 5.3254+-0.1103 ^ 4.4845+-0.2330 ^ definitely 1.1875x faster is-boolean-fold 2.8415+-0.0277 ? 3.0622+-0.3728 ? might be 1.0777x slower is-function-fold-tricky-internal-function 15.2441+-0.5253 11.9410+-3.6012 might be 1.2766x faster is-function-fold-tricky 16.2594+-2.4491 ^ 4.5770+-0.1619 ^ definitely 3.5524x faster is-function-fold 12.5079+-0.1675 ^ 2.8848+-0.0402 ^ definitely 4.3359x faster is-number-fold-tricky 5.1844+-0.1885 ^ 4.4674+-0.1355 ^ definitely 1.1605x faster is-number-fold 2.9054+-0.1235 2.8795+-0.0305 is-object-or-null-fold-functions 18.8031+-0.2281 ^ 2.9311+-0.0453 ^ definitely 6.4151x faster is-object-or-null-fold-less-tricky 16.6032+-0.2791 ^ 4.9160+-0.5560 ^ definitely 3.3774x faster is-object-or-null-fold-tricky 14.6773+-0.5991 ^ 10.2738+-0.1510 ^ definitely 1.4286x faster is-object-or-null-fold 10.4629+-0.1587 ^ 2.8806+-0.0421 ^ definitely 3.6322x faster is-object-or-null-trickier-function 21.3890+-2.3949 ^ 4.7566+-0.4651 ^ definitely 4.4967x faster is-object-or-null-trickier-internal-function 31.5799+-0.5380 ^ 12.2450+-0.1646 ^ definitely 2.5790x faster is-object-or-null-tricky-function 18.6182+-0.2800 ^ 4.7802+-0.5477 ^ definitely 3.8949x faster is-object-or-null-tricky-internal-function 18.6525+-0.3458 ^ 11.2524+-0.8940 ^ definitely 1.6577x faster is-string-fold-tricky 5.1039+-0.0668 ^ 4.4264+-0.0747 ^ definitely 1.1531x faster is-string-fold 2.8575+-0.1055 ? 2.8850+-0.1186 ? is-undefined-fold-tricky 5.1275+-0.1105 ^ 3.7208+-0.0757 ^ definitely 1.3781x faster is-undefined-fold 2.8188+-0.0120 ? 2.8588+-0.0433 ? might be 1.0142x slower large-int-captured 4.6454+-0.1038 4.6146+-0.0457 large-int-neg 16.9751+-0.8886 16.2770+-0.2843 might be 1.0429x faster large-int 15.6923+-1.0037 14.8199+-0.2996 might be 1.0589x faster logical-not 4.4917+-0.0485 ? 4.6403+-0.3471 ? might be 1.0331x slower lots-of-fields 13.1913+-0.3255 ? 13.2432+-1.3816 ? make-indexed-storage 3.2306+-0.2434 3.1528+-0.0420 might be 1.0247x faster make-rope-cse 4.7127+-0.0523 ? 5.1588+-0.4929 ? might be 1.0947x slower marsaglia-larger-ints 36.8829+-1.0653 36.7664+-1.6635 marsaglia-osr-entry 23.9945+-1.6797 ? 24.2979+-1.8659 ? might be 1.0126x slower max-boolean 2.6837+-0.2960 ? 2.7535+-0.4027 ? might be 1.0260x slower method-on-number 17.6158+-1.4936 17.3346+-0.9374 might be 1.0162x faster min-boolean 2.6106+-0.3014 2.5965+-0.2698 minus-boolean-double 3.1605+-0.0757 ? 3.2035+-0.1225 ? might be 1.0136x slower minus-boolean 2.3108+-0.0523 ? 2.3136+-0.0432 ? misc-strict-eq 37.6885+-0.4912 ? 39.0426+-3.0718 ? might be 1.0359x slower mod-boolean-double 10.9871+-0.2617 ? 11.5501+-1.4258 ? might be 1.0512x slower mod-boolean 8.0769+-0.3018 7.8550+-0.0971 might be 1.0282x faster mul-boolean-double 3.7809+-0.1535 ? 3.8528+-0.3510 ? might be 1.0190x slower mul-boolean 2.9122+-0.0474 ? 3.0124+-0.3611 ? might be 1.0344x slower neg-boolean 3.2286+-0.1270 3.1429+-0.0143 might be 1.0273x faster negative-zero-divide 0.3510+-0.0284 ? 0.3739+-0.0735 ? might be 1.0652x slower negative-zero-modulo 0.3623+-0.0298 ? 0.3695+-0.0537 ? might be 1.0198x slower negative-zero-negate 0.3493+-0.0443 0.3444+-0.0308 might be 1.0143x faster nested-function-parsing 38.9496+-0.6625 ? 39.5966+-1.8867 ? might be 1.0166x slower new-array-buffer-dead 113.4202+-2.7946 112.5261+-3.2346 new-array-buffer-push 7.0386+-0.4097 ? 7.5841+-1.0423 ? might be 1.0775x slower new-array-dead 19.4706+-0.3007 ? 19.6048+-0.5205 ? new-array-push 4.1698+-0.4449 4.0487+-0.2515 might be 1.0299x faster no-inline-constructor 127.5508+-2.0751 ? 132.9125+-7.1980 ? might be 1.0420x slower number-test 3.1493+-0.3174 3.0531+-0.0944 might be 1.0315x faster object-closure-call 5.5728+-0.0536 ? 5.6597+-0.1439 ? might be 1.0156x slower object-test 3.1213+-0.0474 ? 3.1589+-0.0663 ? might be 1.0120x slower obvious-sink-pathology-taken 139.8889+-2.9859 ? 139.9379+-3.8448 ? obvious-sink-pathology 131.5461+-2.5137 130.6448+-1.9774 obviously-elidable-new-object 35.5238+-0.9458 ? 35.7701+-1.1617 ? plus-boolean-arith 2.6013+-0.3267 ? 2.6067+-0.2130 ? plus-boolean-double 3.2231+-0.1366 ? 3.3150+-0.4066 ? might be 1.0285x slower plus-boolean 2.3724+-0.0516 ? 2.5158+-0.2942 ? might be 1.0605x slower poly-chain-access-different-prototypes-simple 3.2810+-0.0423 3.2753+-0.0382 poly-chain-access-different-prototypes 2.7953+-0.3338 2.7623+-0.3150 might be 1.0120x faster poly-chain-access-simpler 3.3210+-0.0482 ? 3.3302+-0.1086 ? poly-chain-access 2.6801+-0.3106 ? 2.6832+-0.3573 ? poly-stricteq 62.6142+-0.7110 ? 63.0232+-1.6454 ? polymorphic-array-call 1.2470+-0.0678 ? 1.2670+-0.1422 ? might be 1.0160x slower polymorphic-get-by-id 3.0627+-0.0106 ? 3.1496+-0.1146 ? might be 1.0284x slower polymorphic-put-by-id 29.7663+-1.8799 ? 30.2827+-2.4614 ? might be 1.0173x slower polymorphic-structure 14.8317+-0.2456 ? 15.3431+-1.4701 ? might be 1.0345x slower polyvariant-monomorphic-get-by-id 8.4925+-0.1342 ? 8.6759+-0.2780 ? might be 1.0216x slower proto-getter-access 10.0197+-0.2692 9.8596+-0.1270 might be 1.0162x faster put-by-id-replace-and-transition 9.0693+-0.1742 ? 9.3987+-0.4029 ? might be 1.0363x slower put-by-id-slightly-polymorphic 2.9847+-0.3461 2.8353+-0.0921 might be 1.0527x faster put-by-id 12.5900+-0.2189 ? 12.8452+-0.7343 ? might be 1.0203x slower put-by-val-direct 0.4535+-0.0147 ? 0.4564+-0.0434 ? put-by-val-large-index-blank-indexing-type 6.1099+-0.4299 ? 6.2212+-0.7840 ? might be 1.0182x slower put-by-val-machine-int 2.7474+-0.0535 ? 2.8089+-0.1045 ? might be 1.0224x slower rare-osr-exit-on-local 15.0739+-0.7923 ? 15.3748+-0.6131 ? might be 1.0200x slower register-pressure-from-osr 21.7426+-0.9407 ? 22.2926+-1.0330 ? might be 1.0253x slower setter 5.2087+-0.0346 ? 5.9162+-0.7676 ? might be 1.1358x slower simple-activation-demo 25.0866+-0.5542 ? 25.4041+-0.7005 ? might be 1.0127x slower simple-getter-access 12.9369+-0.2851 12.7710+-0.2335 might be 1.0130x faster simple-poly-call-nested 8.3642+-0.1590 ? 8.3660+-0.7276 ? simple-poly-call 1.3731+-0.1653 1.2997+-0.0231 might be 1.0564x faster sin-boolean 22.0888+-1.7627 ? 23.2227+-1.3773 ? might be 1.0513x slower singleton-scope 68.1133+-2.6654 ? 68.3182+-1.7892 ? sink-function 12.3454+-0.4233 ? 12.4138+-0.3970 ? sinkable-new-object-dag 71.5422+-2.7663 70.3277+-0.9832 might be 1.0173x faster sinkable-new-object-taken 51.0653+-2.0103 ? 52.2318+-2.2021 ? might be 1.0228x slower sinkable-new-object 38.7879+-1.3308 38.0119+-0.8948 might be 1.0204x faster slow-array-profile-convergence 2.8068+-0.2177 ? 2.8963+-0.3720 ? might be 1.0319x slower slow-convergence 3.0997+-0.7265 2.6854+-0.1173 might be 1.1543x faster sorting-benchmark 21.0481+-0.3171 ? 21.1734+-1.3632 ? sparse-conditional 1.1396+-0.0661 1.1111+-0.0314 might be 1.0256x faster splice-to-remove 19.3599+-5.6715 17.3307+-1.3943 might be 1.1171x faster string-char-code-at 17.1925+-0.8202 ? 17.3648+-0.6923 ? might be 1.0100x slower string-concat-object 2.6449+-0.3336 2.5447+-0.1113 might be 1.0394x faster string-concat-pair-object 2.5611+-0.1124 2.4989+-0.1287 might be 1.0249x faster string-concat-pair-simple 12.1210+-0.6257 11.5645+-0.3517 might be 1.0481x faster string-concat-simple 12.1548+-0.3215 ? 13.2000+-1.2656 ? might be 1.0860x slower string-cons-repeat 8.6606+-0.7869 ? 9.0474+-1.2839 ? might be 1.0447x slower string-cons-tower 8.8308+-1.3643 8.7208+-0.6768 might be 1.0126x faster string-equality 17.2805+-0.2012 ? 17.9952+-0.8864 ? might be 1.0414x slower string-get-by-val-big-char 7.1317+-0.0413 ? 7.1510+-0.0830 ? string-get-by-val-out-of-bounds-insane 3.6396+-0.0694 ? 3.6996+-0.3935 ? might be 1.0165x slower string-get-by-val-out-of-bounds 5.4450+-0.4571 ? 5.5499+-0.5893 ? might be 1.0193x slower string-get-by-val 3.3460+-0.2189 3.2503+-0.0548 might be 1.0295x faster string-hash 2.0713+-0.0826 2.0677+-0.0906 string-long-ident-equality 14.8522+-0.1387 ? 15.3895+-1.2405 ? might be 1.0362x slower string-out-of-bounds 15.0181+-0.2470 14.7878+-0.1805 might be 1.0156x faster string-repeat-arith 35.0349+-1.8949 34.2918+-3.1736 might be 1.0217x faster string-sub 67.2918+-1.5786 ? 69.9045+-2.2325 ? might be 1.0388x slower string-test 2.9464+-0.0811 2.9163+-0.0629 might be 1.0103x faster string-var-equality 31.0881+-1.7767 ? 31.0886+-1.7123 ? structure-hoist-over-transitions 2.6212+-0.1064 2.6111+-0.0352 substring-concat-weird 41.0883+-1.6963 40.9155+-2.1529 substring-concat 42.2189+-1.8803 41.3888+-1.4836 might be 1.0201x faster substring 50.8811+-11.8398 46.7756+-2.4094 might be 1.0878x faster switch-char-constant 2.9069+-0.3947 2.8508+-0.2873 might be 1.0197x faster switch-char 6.3633+-0.4313 ? 7.1713+-1.1663 ? might be 1.1270x slower switch-constant 8.4736+-0.2512 8.4186+-0.1651 switch-string-basic-big-var 17.9438+-0.2023 ? 18.0757+-0.4195 ? switch-string-basic-big 14.5613+-0.2968 14.3669+-0.2037 might be 1.0135x faster switch-string-basic-var 14.7063+-0.3132 14.5467+-0.1882 might be 1.0110x faster switch-string-basic 13.6425+-0.1949 ? 13.9233+-0.8417 ? might be 1.0206x slower switch-string-big-length-tower-var 21.0173+-1.2625 19.9904+-0.3106 might be 1.0514x faster switch-string-length-tower-var 15.0854+-0.2331 15.0344+-0.2002 switch-string-length-tower 12.9213+-0.2369 ? 12.9533+-0.2459 ? switch-string-short 12.9173+-0.1752 ? 13.1503+-0.7745 ? might be 1.0180x slower switch 12.8895+-0.4363 12.7389+-0.2431 might be 1.0118x faster tear-off-arguments-simple 3.5260+-0.1324 ? 3.6181+-0.3585 ? might be 1.0261x slower tear-off-arguments 4.7555+-0.1425 4.7000+-0.0655 might be 1.0118x faster temporal-structure 12.2438+-0.1357 ? 12.7726+-0.7764 ? might be 1.0432x slower to-int32-boolean 13.6422+-0.2302 ? 13.7109+-0.2328 ? try-catch-get-by-val-cloned-arguments 14.2351+-0.3125 ? 14.9941+-1.2235 ? might be 1.0533x slower try-catch-get-by-val-direct-arguments 7.0021+-0.9508 6.7189+-0.4487 might be 1.0422x faster try-catch-get-by-val-scoped-arguments 8.1255+-1.2016 7.6999+-0.0669 might be 1.0553x faster typed-array-get-set-by-val-profiling 32.9836+-1.8624 32.2769+-1.3573 might be 1.0219x faster undefined-property-access 356.0950+-4.0361 ? 357.7859+-4.8363 ? undefined-test 2.9857+-0.0304 ? 3.1329+-0.3297 ? might be 1.0493x slower unprofiled-licm 22.7273+-0.4916 ? 23.2182+-1.3617 ? might be 1.0216x slower varargs-call 16.2501+-0.9024 ? 17.1578+-1.6560 ? might be 1.0559x slower varargs-construct-inline 23.6442+-1.2437 ? 23.6948+-1.2821 ? varargs-construct 32.4065+-1.1448 32.0650+-0.6574 might be 1.0106x faster varargs-inline 9.4469+-0.2503 9.4359+-0.3915 varargs-strict-mode 10.7025+-0.5020 10.4381+-0.3853 might be 1.0253x faster varargs 10.4140+-0.3348 10.3570+-0.3704 weird-inlining-const-prop 2.4380+-0.1603 2.4024+-0.1703 might be 1.0148x faster <geometric> 8.9439+-0.0364 ^ 8.6154+-0.0321 ^ definitely 1.0381x faster TipOfTree FoldIsBlah AsmBench: bigfib.cpp 494.9396+-3.0249 ? 496.1057+-3.0249 ? cray.c 426.6335+-3.8815 426.4317+-2.9753 dry.c 483.3765+-11.3398 ? 487.5221+-6.9016 ? FloatMM.c 726.2237+-4.8028 ? 726.6427+-3.9020 ? gcc-loops.cpp 4278.7570+-10.0808 ? 4287.4281+-30.6797 ? n-body.c 986.5729+-20.9032 986.2310+-6.4806 Quicksort.c 418.2278+-4.3793 ? 423.6383+-5.5653 ? might be 1.0129x slower stepanov_container.cpp 3613.3713+-19.0866 ? 3625.7378+-26.7286 ? Towers.c 260.1858+-1.5542 ? 260.7797+-3.3409 ? <geometric> 792.2613+-2.6007 ? 795.0406+-4.8638 ? might be 1.0035x slower TipOfTree FoldIsBlah CompressionBench: huffman 365.5846+-1.6193 365.0130+-1.0424 arithmetic-simple 399.3677+-4.4459 396.8178+-3.5564 arithmetic-precise 300.6885+-4.0480 ? 302.8547+-3.5969 ? arithmetic-complex-precise 301.8206+-4.2207 300.8603+-5.0576 arithmetic-precise-order-0 430.4602+-8.6024 422.7170+-8.8515 might be 1.0183x faster arithmetic-precise-order-1 331.5404+-5.9680 327.1903+-3.7770 might be 1.0133x faster arithmetic-precise-order-2 363.9191+-10.8945 360.1700+-4.5883 might be 1.0104x faster arithmetic-simple-order-1 429.9393+-6.9327 423.8622+-2.6469 might be 1.0143x faster arithmetic-simple-order-2 478.3743+-17.1646 ? 478.5802+-12.7627 ? lz-string 328.2728+-7.3738 326.4020+-3.4708 <geometric> 368.6826+-2.8366 366.3101+-1.9391 might be 1.0065x faster TipOfTree FoldIsBlah Geomean of preferred means: <scaled-result> 64.5559+-0.1593 64.4738+-0.6063 might be 1.0013x faster
Geoffrey Garen
Comment 3
2015-04-30 10:16:21 PDT
Comment on
attachment 252024
[details]
the patch r=me
Filip Pizlo
Comment 4
2015-04-30 10:38:05 PDT
Landed in
http://trac.webkit.org/changeset/183629
Csaba Osztrogonác
Comment 5
2015-04-30 13:46:59 PDT
(In reply to
comment #4
)
> Landed in
http://trac.webkit.org/changeset/183629
The followinf new tests assert on Apple Debug bots: regress/script-tests/is-string-fold-tricky.js regress/script-tests/is-string-fold.js
Filip Pizlo
Comment 6
2015-04-30 13:54:07 PDT
(In reply to
comment #5
)
> (In reply to
comment #4
) > > Landed in
http://trac.webkit.org/changeset/183629
> > The followinf new tests assert on Apple Debug bots: > regress/script-tests/is-string-fold-tricky.js > regress/script-tests/is-string-fold.js
Yup. The new tests revealed a preexisting bug. I'm skipping them, and I'm looking into the issue. I'll probably fix and unskip soon.
Filip Pizlo
Comment 7
2015-04-30 13:57:00 PDT
Had to skip some tests in
http://trac.webkit.org/changeset/183638
and
http://trac.webkit.org/changeset/183643
.
webkit.org/b/144463
tracks the fix.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug