Bug 144376

Summary: TypeOf should return SpecStringIdent and the DFG should know this
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, benjamin, commit-queue, ggaren, mark.lam, mhahnenb, mmirman, msaboff, nrotem, oliver, saam, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
the patch
none
the patch kling: review+

Filip Pizlo
Reported 2015-04-28 21:45:28 PDT
Patch forthcoming.
Attachments
the patch (10.31 KB, patch)
2015-04-28 22:01 PDT, Filip Pizlo
no flags
the patch (13.83 KB, patch)
2015-04-28 22:59 PDT, Filip Pizlo
kling: review+
Filip Pizlo
Comment 1 2015-04-28 22:01:34 PDT
Created attachment 251926 [details] the patch
WebKit Commit Bot
Comment 2 2015-04-28 22:03:20 PDT
Attachment 251926 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGAbstractValue.h:203: The parameter name "graph" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/dfg/DFGAbstractValue.h:203: The parameter name "type" adds no information, so it should be removed. [readability/parameter_name] [5] Total errors found: 2 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 3 2015-04-28 22:13:42 PDT
Comment on attachment 251926 [details] the patch Clearing r? for now. Still testing.
Filip Pizlo
Comment 4 2015-04-28 22:58:00 PDT
This doesn't really speed anything up, yet. 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 (r183528) "TypeOfIdent" at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (r183528) 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 TypeOfIdent SunSpider: 3d-cube 5.1823+-0.1705 5.1368+-0.0998 3d-morph 5.8018+-0.1372 ? 5.9942+-0.6404 ? might be 1.0332x slower 3d-raytrace 6.5859+-0.2106 ? 6.6189+-0.2311 ? access-binary-trees 2.3406+-0.1998 2.2937+-0.1112 might be 1.0205x faster access-fannkuch 6.0337+-0.0866 5.9274+-0.0945 might be 1.0179x faster access-nbody 3.1799+-0.4799 3.0751+-0.3718 might be 1.0341x faster access-nsieve 3.5695+-0.2378 3.3781+-0.0816 might be 1.0567x faster bitops-3bit-bits-in-byte 1.5625+-0.0564 1.5425+-0.0077 might be 1.0129x faster bitops-bits-in-byte 3.3654+-0.1443 3.2948+-0.0359 might be 1.0214x faster bitops-bitwise-and 2.3787+-0.3270 2.1141+-0.0278 might be 1.1252x faster bitops-nsieve-bits 3.3383+-0.1395 ? 3.7441+-0.6417 ? might be 1.1216x slower controlflow-recursive 2.2139+-0.0539 ? 2.2968+-0.1004 ? might be 1.0374x slower crypto-aes 4.5086+-0.3512 4.4307+-0.0779 might be 1.0176x faster crypto-md5 2.7984+-0.2226 2.7905+-0.1105 crypto-sha1 2.7325+-0.1827 2.5508+-0.1340 might be 1.0712x faster date-format-tofte 9.3282+-0.3817 ? 9.3887+-0.3847 ? date-format-xparb 5.7825+-0.1924 ? 6.0298+-0.6355 ? might be 1.0428x slower math-cordic 3.1092+-0.0275 ^ 3.0225+-0.0169 ^ definitely 1.0287x faster math-partial-sums 5.4132+-0.6623 5.1397+-0.0859 might be 1.0532x faster math-spectral-norm 1.9539+-0.1227 ? 1.9762+-0.1011 ? might be 1.0114x slower regexp-dna 8.0592+-1.2279 7.9489+-1.2562 might be 1.0139x faster string-base64 5.1316+-0.6923 ? 5.3420+-0.7108 ? might be 1.0410x slower string-fasta 6.9233+-0.6888 6.7602+-0.2255 might be 1.0241x faster string-tagcloud 9.5901+-0.1150 ? 9.7108+-0.1914 ? might be 1.0126x slower string-unpack-code 19.6253+-0.5105 19.5146+-0.6113 string-validate-input 4.8958+-0.1425 ? 4.9664+-0.1871 ? might be 1.0144x slower <arithmetic> 5.2078+-0.0774 5.1919+-0.0778 might be 1.0031x faster TipOfTree TypeOfIdent LongSpider: 3d-cube 867.0002+-5.5413 865.6763+-5.8172 3d-morph 1527.4375+-4.1002 1527.2702+-2.5649 3d-raytrace 738.7892+-3.8568 ^ 730.1431+-4.7892 ^ definitely 1.0118x faster access-binary-trees 1034.0420+-15.6061 ? 1037.7255+-11.1258 ? access-fannkuch 333.6356+-10.3702 331.9920+-15.2815 access-nbody 610.7345+-1.8536 ? 611.8720+-2.0506 ? access-nsieve 871.8826+-6.9861 855.8207+-11.8825 might be 1.0188x faster bitops-3bit-bits-in-byte 44.6578+-1.6894 44.1963+-0.7550 might be 1.0104x faster bitops-bits-in-byte 101.6250+-1.8821 ? 102.1388+-2.0274 ? bitops-nsieve-bits 637.0878+-5.1656 634.3827+-3.7316 controlflow-recursive 478.9915+-1.9160 ! 482.6958+-0.4793 ! definitely 1.0077x slower crypto-aes 709.2376+-2.7877 708.0864+-6.0420 crypto-md5 522.1709+-7.1591 514.8809+-7.5209 might be 1.0142x faster crypto-sha1 598.8978+-7.9516 ? 603.6561+-3.6721 ? date-format-tofte 752.4993+-13.6685 738.8432+-8.4724 might be 1.0185x faster date-format-xparb 815.8718+-70.3023 811.0670+-71.6040 math-cordic 590.3120+-0.9714 590.2647+-0.9709 math-partial-sums 502.8905+-2.1893 ? 505.0651+-3.0349 ? math-spectral-norm 566.1390+-3.2868 ? 566.1702+-5.8068 ? string-base64 379.0055+-4.3721 ? 382.7810+-5.2700 ? string-fasta 437.1093+-5.7572 ? 444.2509+-5.9173 ? might be 1.0163x slower string-tagcloud 216.3760+-1.3535 ? 218.2474+-2.6808 ? <geometric> 496.3994+-2.2161 495.8032+-2.6254 might be 1.0012x faster TipOfTree TypeOfIdent V8Spider: crypto 55.9926+-1.5771 55.3801+-2.6283 might be 1.0111x faster deltablue 100.6003+-4.1801 94.1418+-2.4684 might be 1.0686x faster earley-boyer 45.5793+-1.2300 ? 45.7830+-0.2089 ? raytrace 41.0012+-0.6714 ? 42.5452+-2.8781 ? might be 1.0377x slower regexp 81.3528+-1.4299 81.0123+-1.3489 richards 79.3742+-2.3913 79.2581+-1.2150 splay 40.4285+-1.8281 40.2681+-2.1904 <geometric> 59.8227+-0.6395 59.4192+-0.4541 might be 1.0068x faster TipOfTree TypeOfIdent Octane: encrypt 0.20431+-0.00226 0.20364+-0.00167 decrypt 3.55421+-0.01423 ? 4.12440+-1.41857 ? might be 1.1604x slower deltablue x2 0.20760+-0.00132 0.20759+-0.00123 earley 0.53900+-0.00287 ? 0.53925+-0.00464 ? boyer 6.65946+-0.02634 6.64036+-0.02229 navier-stokes x2 5.19091+-0.02643 5.18513+-0.01883 raytrace x2 1.29958+-0.06137 1.25194+-0.05336 might be 1.0381x faster richards x2 0.12204+-0.00162 ? 0.12286+-0.00076 ? splay x2 0.39781+-0.00323 ? 0.39816+-0.00263 ? regexp x2 31.90717+-0.57403 31.85903+-0.15207 pdfjs x2 43.45185+-0.34074 43.20168+-0.17591 mandreel x2 50.24668+-0.19305 50.22671+-0.41267 gbemu x2 41.73083+-0.36314 ? 43.91614+-3.17621 ? might be 1.0524x slower closure 0.55226+-0.00208 ? 0.55252+-0.00290 ? jquery 7.02387+-0.03256 ? 7.03919+-0.04657 ? box2d x2 12.26598+-0.13429 12.26598+-0.03193 zlib x2 384.73676+-17.96184 ? 395.24406+-3.97994 ? might be 1.0273x slower typescript x2 828.39018+-3.69105 823.32996+-7.96244 <geometric> 6.69838+-0.02812 ? 6.73803+-0.06107 ? might be 1.0059x slower TipOfTree TypeOfIdent Kraken: ai-astar 272.843+-3.484 271.736+-1.595 audio-beat-detection 106.647+-0.804 ? 108.178+-1.210 ? might be 1.0144x slower audio-dft 150.733+-3.385 ? 151.121+-3.911 ? audio-fft 83.900+-4.985 ? 89.154+-3.527 ? might be 1.0626x slower audio-oscillator 207.842+-2.008 ? 208.543+-1.952 ? imaging-darkroom 104.950+-2.357 ? 105.217+-1.691 ? imaging-desaturate 62.446+-0.458 ? 63.419+-1.544 ? might be 1.0156x slower imaging-gaussian-blur 114.520+-2.878 112.564+-1.681 might be 1.0174x faster json-parse-financial 45.973+-2.026 45.165+-1.787 might be 1.0179x faster json-stringify-tinderbox 57.371+-2.066 56.434+-0.417 might be 1.0166x faster stanford-crypto-aes 66.785+-2.982 65.201+-0.712 might be 1.0243x faster stanford-crypto-ccm 56.495+-4.613 ? 57.038+-4.274 ? stanford-crypto-pbkdf2 169.071+-2.461 ? 170.518+-2.886 ? stanford-crypto-sha256-iterative 55.152+-1.289 ? 55.658+-1.185 ? <arithmetic> 111.052+-0.501 ? 111.425+-0.782 ? might be 1.0034x slower TipOfTree TypeOfIdent JSRegress: abs-boolean 2.6654+-0.1003 2.6014+-0.0162 might be 1.0246x faster adapt-to-double-divide 16.7216+-0.2369 ? 16.8680+-0.3674 ? aliased-arguments-getbyval 1.2972+-0.0620 ? 1.3511+-0.1473 ? might be 1.0415x slower allocate-big-object 3.0939+-0.3944 3.0385+-0.2625 might be 1.0182x faster arguments-named-and-reflective 13.0668+-0.9683 12.9106+-0.7896 might be 1.0121x faster arguments-out-of-bounds 15.1100+-0.7906 14.9805+-0.4175 arguments-strict-mode 12.1214+-0.9476 11.7131+-0.3785 might be 1.0349x faster arguments 10.3480+-0.3076 ? 10.5729+-0.2799 ? might be 1.0217x slower arity-mismatch-inlining 0.8799+-0.0668 0.8458+-0.0249 might be 1.0403x faster array-access-polymorphic-structure 7.1606+-0.9597 ? 7.2732+-1.0709 ? might be 1.0157x slower array-nonarray-polymorhpic-access 35.3881+-2.4623 34.3447+-1.4207 might be 1.0304x faster array-prototype-every 86.3308+-2.5206 ? 89.0981+-1.5468 ? might be 1.0321x slower array-prototype-forEach 84.1677+-1.9212 ? 85.6954+-1.9472 ? might be 1.0182x slower array-prototype-map 92.6484+-2.8633 ? 94.5031+-1.2337 ? might be 1.0200x slower array-prototype-some 87.0063+-2.3009 ? 89.2866+-1.2701 ? might be 1.0262x slower array-splice-contiguous 41.9799+-1.7887 ? 42.5687+-2.4288 ? might be 1.0140x slower array-with-double-add 4.1285+-0.0594 ? 4.1858+-0.2661 ? might be 1.0139x slower array-with-double-increment 3.3940+-0.3312 3.1827+-0.0203 might be 1.0664x faster array-with-double-mul-add 5.0057+-0.0330 ? 5.2693+-0.4651 ? might be 1.0527x slower array-with-double-sum 3.2607+-0.0323 ? 3.2761+-0.0528 ? array-with-int32-add-sub 6.7976+-0.1512 6.6857+-0.0295 might be 1.0167x faster array-with-int32-or-double-sum 3.3228+-0.0435 ? 3.4498+-0.4223 ? might be 1.0382x slower ArrayBuffer-DataView-alloc-large-long-lived 33.9940+-2.3081 ! 39.2804+-2.4357 ! definitely 1.1555x slower ArrayBuffer-DataView-alloc-long-lived 14.6494+-1.9022 ? 17.6593+-1.1360 ? might be 1.2055x slower ArrayBuffer-Int32Array-byteOffset 3.8419+-0.0533 ? 4.1173+-0.5243 ? might be 1.0717x slower ArrayBuffer-Int8Array-alloc-large-long-lived 34.1149+-1.4708 33.7807+-1.9496 ArrayBuffer-Int8Array-alloc-long-lived-buffer 22.7331+-1.4132 ? 23.8073+-1.8912 ? might be 1.0473x slower ArrayBuffer-Int8Array-alloc-long-lived 14.8595+-1.8168 12.6080+-0.5027 might be 1.1786x faster ArrayBuffer-Int8Array-alloc 10.8645+-0.2669 ! 12.7894+-1.6535 ! definitely 1.1772x slower asmjs_bool_bug 7.6825+-0.0879 ? 7.7481+-0.2989 ? assign-custom-setter-polymorphic 3.2456+-0.4166 ? 3.3527+-0.4497 ? might be 1.0330x slower assign-custom-setter 4.5208+-0.7657 ? 4.5219+-0.2690 ? basic-set 8.6742+-0.4100 8.5118+-0.2607 might be 1.0191x faster big-int-mul 4.0531+-0.2245 ? 4.2019+-0.3536 ? might be 1.0367x slower boolean-test 3.0582+-0.0424 ? 3.1806+-0.3318 ? might be 1.0400x slower branch-fold 3.6891+-0.0347 ? 3.8380+-0.4516 ? might be 1.0403x slower branch-on-string-as-boolean 19.1992+-0.6031 ? 19.9891+-0.8862 ? might be 1.0411x slower by-val-generic 7.9532+-0.0836 ? 8.8035+-2.1820 ? might be 1.1069x slower call-spread-apply 29.6364+-0.8575 ? 30.6255+-1.2862 ? might be 1.0334x slower call-spread-call 24.6916+-0.5902 ? 25.7895+-0.9731 ? might be 1.0445x slower captured-assignments 0.4921+-0.0658 0.4587+-0.0211 might be 1.0728x faster cast-int-to-double 5.3055+-0.1123 5.3050+-0.0873 cell-argument 8.5308+-0.3143 ? 8.5667+-0.2045 ? cfg-simplify 3.0020+-0.1174 ? 3.1183+-0.1166 ? might be 1.0387x slower chain-getter-access 10.1592+-0.3988 9.8105+-0.0636 might be 1.0355x faster cmpeq-obj-to-obj-other 11.5145+-0.6170 ? 12.5885+-1.6381 ? might be 1.0933x slower constant-test 5.3238+-0.7985 4.9996+-0.1245 might be 1.0648x faster create-lots-of-functions 12.0103+-0.3496 11.9534+-0.4189 DataView-custom-properties 40.7687+-1.4908 ? 42.8751+-2.0324 ? might be 1.0517x slower deconstructing-parameters-overridden-by-function 0.5250+-0.0547 0.5045+-0.0286 might be 1.0406x faster delay-tear-off-arguments-strictmode 14.1348+-0.3773 ? 16.3843+-5.5144 ? might be 1.1591x slower deltablue-varargs 202.5728+-1.4995 ? 203.0059+-2.0694 ? destructuring-arguments 18.0509+-0.2972 ? 18.0619+-0.3492 ? destructuring-swap 5.0935+-0.0585 5.0537+-0.0426 direct-arguments-getbyval 1.2434+-0.0559 ? 1.2668+-0.0854 ? might be 1.0189x slower div-boolean-double 5.2904+-0.2470 5.2076+-0.0393 might be 1.0159x faster div-boolean 7.8280+-0.0710 7.7883+-0.0618 double-get-by-val-out-of-bounds 4.5761+-0.0752 4.5571+-0.1111 double-pollution-getbyval 8.8702+-0.0850 ? 8.8987+-0.1489 ? double-pollution-putbyoffset 4.3606+-0.0349 ? 4.4897+-0.3191 ? might be 1.0296x slower double-to-int32-typed-array-no-inline 2.2576+-0.0420 2.2442+-0.1064 double-to-int32-typed-array 1.9493+-0.0587 1.9030+-0.0281 might be 1.0244x faster double-to-uint32-typed-array-no-inline 2.3346+-0.1230 2.3151+-0.0763 double-to-uint32-typed-array 1.9839+-0.0186 1.9583+-0.0246 might be 1.0131x faster elidable-new-object-dag 43.7915+-1.8262 ? 46.2198+-2.4679 ? might be 1.0555x slower elidable-new-object-roflcopter 47.9690+-1.9397 47.1526+-1.5831 might be 1.0173x faster elidable-new-object-then-call 39.7385+-1.6840 ? 40.4744+-1.8652 ? might be 1.0185x slower elidable-new-object-tree 48.1565+-6.0233 45.0620+-1.5755 might be 1.0687x faster empty-string-plus-int 5.4412+-0.1164 ? 5.7728+-0.5267 ? might be 1.0609x slower emscripten-cube2hash 39.1001+-1.2583 38.8024+-2.0823 exit-length-on-plain-object 13.8786+-0.2818 ? 14.5401+-0.9407 ? might be 1.0477x slower external-arguments-getbyval 1.3184+-0.1424 1.3127+-0.1479 external-arguments-putbyval 2.4475+-0.2576 2.2923+-0.0537 might be 1.0677x faster fixed-typed-array-storage-var-index 1.2671+-0.1678 1.2052+-0.0152 might be 1.0514x faster fixed-typed-array-storage 0.9724+-0.0635 0.9449+-0.0538 might be 1.0290x faster Float32Array-matrix-mult 4.7134+-0.3321 ? 4.7736+-0.5067 ? might be 1.0128x slower Float32Array-to-Float64Array-set 54.4285+-0.9712 ! 58.3601+-2.2105 ! definitely 1.0722x slower Float64Array-alloc-long-lived 74.7330+-0.8225 74.1655+-2.8148 Float64Array-to-Int16Array-set 69.9609+-2.1163 67.9749+-1.5983 might be 1.0292x faster fold-double-to-int 13.5047+-0.1775 13.4758+-0.1613 fold-get-by-id-to-multi-get-by-offset-rare-int 10.8171+-1.1727 ? 11.7738+-2.0928 ? might be 1.0884x slower fold-get-by-id-to-multi-get-by-offset 10.4313+-1.0734 10.1996+-1.6428 might be 1.0227x faster fold-multi-get-by-offset-to-get-by-offset 9.1948+-0.8347 8.9268+-0.9126 might be 1.0300x faster fold-multi-get-by-offset-to-poly-get-by-offset 8.9532+-0.7172 ? 9.5597+-0.5211 ? might be 1.0677x slower fold-multi-put-by-offset-to-poly-put-by-offset 10.0522+-2.1504 7.1870+-1.1893 might be 1.3987x faster fold-multi-put-by-offset-to-put-by-offset 4.4330+-0.7036 ! 6.6164+-0.8288 ! definitely 1.4925x slower fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 9.7092+-0.3976 9.5591+-0.4851 might be 1.0157x faster fold-put-by-id-to-multi-put-by-offset 9.9305+-0.5584 9.3226+-0.7017 might be 1.0652x faster fold-put-structure 4.3085+-0.6249 ? 5.5932+-0.7335 ? might be 1.2982x slower for-of-iterate-array-entries 5.4376+-1.5323 4.6737+-0.1794 might be 1.1635x faster for-of-iterate-array-keys 3.9693+-0.3420 3.8771+-0.2930 might be 1.0238x faster for-of-iterate-array-values 3.7436+-0.2035 3.7033+-0.1631 might be 1.0109x faster fround 21.2242+-0.9877 20.8673+-0.4015 might be 1.0171x faster ftl-library-inlining-dataview 67.3007+-1.4695 65.3380+-1.5695 might be 1.0300x faster ftl-library-inlining 78.8717+-20.5108 72.6383+-18.6846 might be 1.0858x faster function-dot-apply 2.2166+-0.0827 ? 2.2764+-0.2813 ? might be 1.0270x slower function-test 3.3738+-0.1896 ? 3.6762+-0.6795 ? might be 1.0896x slower function-with-eval 105.5341+-6.6663 104.6720+-3.8607 gcse-poly-get-less-obvious 17.9193+-0.2532 ? 19.2290+-1.3222 ? might be 1.0731x slower gcse-poly-get 22.4303+-1.2800 21.4705+-1.0891 might be 1.0447x faster gcse 4.3384+-0.0822 ? 4.4813+-0.3963 ? might be 1.0329x slower get-by-id-bimorphic-check-structure-elimination-simple 3.0534+-0.4555 2.7876+-0.1223 might be 1.0954x faster get-by-id-bimorphic-check-structure-elimination 6.0863+-0.1899 ? 6.1006+-0.1872 ? get-by-id-chain-from-try-block 6.8596+-0.8684 6.6012+-0.1592 might be 1.0392x faster get-by-id-check-structure-elimination 5.1450+-0.1277 5.1333+-0.1295 get-by-id-proto-or-self 17.4159+-0.5835 17.1053+-0.8169 might be 1.0182x faster get-by-id-quadmorphic-check-structure-elimination-simple 3.2799+-0.1198 3.1637+-0.0801 might be 1.0368x faster get-by-id-self-or-proto 17.5282+-0.6856 17.1395+-0.2361 might be 1.0227x faster get-by-val-out-of-bounds 4.4176+-0.1611 ? 4.5180+-0.0750 ? might be 1.0227x slower get_callee_monomorphic 2.8504+-0.0591 ? 2.8582+-0.1202 ? get_callee_polymorphic 3.9694+-0.4032 3.8125+-0.2317 might be 1.0412x faster getter-no-activation 4.9851+-0.1941 ? 5.2490+-0.3237 ? might be 1.0529x slower getter-richards 128.4125+-5.9457 123.4248+-5.8514 might be 1.0404x faster getter 5.9266+-0.8682 ? 6.2806+-0.6028 ? might be 1.0597x slower global-var-const-infer-fire-from-opt 1.0395+-0.1576 0.9804+-0.0689 might be 1.0602x faster global-var-const-infer 0.7817+-0.1001 ? 0.7916+-0.0905 ? might be 1.0126x slower HashMap-put-get-iterate-keys 26.6751+-0.3369 ^ 25.5981+-0.6179 ^ definitely 1.0421x faster HashMap-put-get-iterate 26.4040+-0.4499 ^ 25.4703+-0.4456 ^ definitely 1.0367x faster HashMap-string-put-get-iterate 28.2961+-1.1835 27.7478+-1.6443 might be 1.0198x faster hoist-make-rope 11.9529+-0.8866 11.8936+-0.9569 hoist-poly-check-structure-effectful-loop 5.0243+-0.0591 ! 5.2879+-0.1994 ! definitely 1.0525x slower hoist-poly-check-structure 3.7745+-0.3079 ? 3.8041+-0.2469 ? imul-double-only 9.1565+-1.3114 8.5153+-0.2160 might be 1.0753x faster imul-int-only 10.0669+-0.4776 9.7125+-0.1539 might be 1.0365x faster imul-mixed 8.0939+-0.3439 ? 8.3414+-0.6595 ? might be 1.0306x slower in-four-cases 20.7070+-0.5159 20.6623+-0.6392 in-one-case-false 10.4450+-0.5466 10.0380+-0.3304 might be 1.0405x faster in-one-case-true 10.3108+-0.4666 10.1981+-0.4783 might be 1.0110x faster in-two-cases 10.3918+-0.4027 ? 10.5392+-0.8682 ? might be 1.0142x slower indexed-properties-in-objects 3.0796+-0.0218 ^ 2.9147+-0.0474 ^ definitely 1.0566x faster infer-closure-const-then-mov-no-inline 3.9250+-0.0805 3.9048+-0.0282 infer-closure-const-then-mov 19.8742+-0.3881 19.6983+-0.3003 infer-closure-const-then-put-to-scope-no-inline 14.6392+-1.4400 ? 15.9944+-1.4631 ? might be 1.0926x slower infer-closure-const-then-put-to-scope 23.0904+-2.0919 21.9596+-0.3801 might be 1.0515x faster infer-closure-const-then-reenter-no-inline 63.5365+-2.0809 63.2638+-2.4705 infer-closure-const-then-reenter 22.9411+-1.2110 22.8075+-1.0430 infer-constant-global-property 30.6897+-1.3025 ? 31.1335+-1.8803 ? might be 1.0145x slower infer-constant-property 3.0022+-0.4328 2.8046+-0.2389 might be 1.0705x faster infer-one-time-closure-ten-vars 13.2652+-1.4031 12.2994+-0.1935 might be 1.0785x faster infer-one-time-closure-two-vars 12.4240+-0.7978 12.1796+-0.4139 might be 1.0201x faster infer-one-time-closure 12.8397+-1.4811 ? 12.9937+-1.3847 ? might be 1.0120x slower infer-one-time-deep-closure 21.8863+-1.6102 21.4842+-1.3998 might be 1.0187x faster inline-arguments-access 5.0933+-1.1749 4.6337+-0.1384 might be 1.0992x faster inline-arguments-aliased-access 4.5675+-0.0637 ? 4.6658+-0.2033 ? might be 1.0215x slower inline-arguments-local-escape 4.9220+-0.2172 4.6779+-0.1185 might be 1.0522x faster inline-get-scoped-var 4.9831+-0.2816 4.8956+-0.1780 might be 1.0179x faster inlined-put-by-id-transition 11.5997+-1.3742 ? 11.7392+-0.4985 ? might be 1.0120x slower int-or-other-abs-then-get-by-val 4.7021+-0.0681 ? 4.8110+-0.1837 ? might be 1.0232x slower int-or-other-abs-zero-then-get-by-val 17.3150+-0.8307 ? 18.2379+-1.4309 ? might be 1.0533x slower int-or-other-add-then-get-by-val 4.2816+-0.0284 ? 4.3066+-0.0686 ? int-or-other-add 5.3064+-0.0395 ? 5.3186+-0.0852 ? int-or-other-div-then-get-by-val 4.4224+-0.2667 4.3042+-0.0574 might be 1.0275x faster int-or-other-max-then-get-by-val 4.3708+-0.0896 ? 4.5998+-0.4378 ? might be 1.0524x slower int-or-other-min-then-get-by-val 4.3404+-0.0711 4.3098+-0.0469 int-or-other-mod-then-get-by-val 3.8974+-0.0780 ? 3.9434+-0.0358 ? might be 1.0118x slower int-or-other-mul-then-get-by-val 4.0786+-0.3091 3.9987+-0.1231 might be 1.0200x faster int-or-other-neg-then-get-by-val 4.4716+-0.0712 4.4610+-0.0224 int-or-other-neg-zero-then-get-by-val 17.6130+-1.2921 ? 17.7269+-1.0889 ? int-or-other-sub-then-get-by-val 4.5538+-0.1024 ? 4.6015+-0.1756 ? might be 1.0105x slower int-or-other-sub 3.5225+-0.0780 ? 3.5328+-0.0825 ? int-overflow-local 4.4914+-0.0807 ? 4.5587+-0.0402 ? might be 1.0150x slower Int16Array-alloc-long-lived 54.3477+-2.9692 52.5528+-1.6462 might be 1.0342x faster Int16Array-bubble-sort-with-byteLength 22.0527+-1.8692 20.2998+-0.3135 might be 1.0863x faster Int16Array-bubble-sort 20.0788+-0.8063 19.8625+-0.6999 might be 1.0109x faster Int16Array-load-int-mul 1.4843+-0.0105 ? 1.5785+-0.1986 ? might be 1.0635x slower Int16Array-to-Int32Array-set 61.0695+-1.3970 ^ 54.2235+-2.4962 ^ definitely 1.1263x faster Int32Array-alloc-large 25.2681+-0.9787 24.1796+-0.5571 might be 1.0450x faster Int32Array-alloc-long-lived 58.0286+-1.2942 58.0017+-1.8251 Int32Array-alloc 3.8952+-0.6358 3.7779+-0.5867 might be 1.0310x faster Int32Array-Int8Array-view-alloc 7.2613+-0.8175 7.1745+-0.7770 might be 1.0121x faster int52-spill 6.6816+-0.4936 6.3051+-0.0773 might be 1.0597x faster Int8Array-alloc-long-lived 47.8404+-1.9517 47.1786+-1.2655 might be 1.0140x faster Int8Array-load-with-byteLength 3.2942+-0.0285 ? 3.4863+-0.4031 ? might be 1.0583x slower Int8Array-load 3.3127+-0.0556 ? 3.3301+-0.0442 ? integer-divide 11.1683+-0.1518 ? 11.3138+-0.2739 ? might be 1.0130x slower integer-modulo 2.0769+-0.2698 1.9375+-0.0790 might be 1.0719x faster large-int-captured 4.6495+-0.1162 ? 4.7371+-0.2155 ? might be 1.0188x slower large-int-neg 16.5066+-0.6859 ? 17.3540+-1.5072 ? might be 1.0513x slower large-int 14.7780+-0.3204 ? 15.2392+-0.6760 ? might be 1.0312x slower logical-not 4.5042+-0.0329 ? 4.5519+-0.0649 ? might be 1.0106x slower lots-of-fields 14.0853+-1.2805 13.3797+-0.2614 might be 1.0527x faster make-indexed-storage 3.1451+-0.2727 ? 3.4510+-0.4706 ? might be 1.0973x slower make-rope-cse 4.6758+-0.0565 ? 4.7587+-0.1072 ? might be 1.0177x slower marsaglia-larger-ints 37.4832+-2.5578 36.6517+-1.5106 might be 1.0227x faster marsaglia-osr-entry 23.0893+-0.5585 ? 23.2957+-0.7043 ? max-boolean 2.6709+-0.3666 2.4772+-0.0689 might be 1.0782x faster method-on-number 18.5754+-1.3875 18.2144+-0.6840 might be 1.0198x faster min-boolean 2.5216+-0.0205 2.4892+-0.0814 might be 1.0130x faster minus-boolean-double 3.2431+-0.1219 3.1626+-0.0810 might be 1.0255x faster minus-boolean 2.3249+-0.1065 ? 2.4358+-0.2636 ? might be 1.0477x slower misc-strict-eq 38.7653+-3.2262 37.2339+-0.8392 might be 1.0411x faster mod-boolean-double 11.0147+-0.2708 10.8885+-0.0649 might be 1.0116x faster mod-boolean 7.9388+-0.2192 7.9373+-0.2375 mul-boolean-double 3.6915+-0.0522 ? 3.7469+-0.0957 ? might be 1.0150x slower mul-boolean 2.8965+-0.1038 ? 2.9387+-0.0807 ? might be 1.0146x slower neg-boolean 3.1954+-0.0460 3.1411+-0.0269 might be 1.0173x faster negative-zero-divide 0.3599+-0.0430 0.3557+-0.0134 might be 1.0118x faster negative-zero-modulo 0.3619+-0.0345 0.3503+-0.0205 might be 1.0329x faster negative-zero-negate 0.3256+-0.0088 ? 0.3503+-0.0503 ? might be 1.0758x slower nested-function-parsing 39.1965+-0.9686 ? 39.5031+-1.9494 ? new-array-buffer-dead 112.5312+-3.9894 110.8641+-2.2148 might be 1.0150x faster new-array-buffer-push 7.6421+-0.8607 6.9059+-0.2118 might be 1.1066x faster new-array-dead 19.6283+-0.4838 19.2686+-0.9070 might be 1.0187x faster new-array-push 4.0417+-0.1760 3.9254+-0.0366 might be 1.0296x faster no-inline-constructor 123.7073+-2.4042 ? 125.3618+-2.5408 ? might be 1.0134x slower number-test 3.0370+-0.0451 ? 3.1348+-0.3226 ? might be 1.0322x slower object-closure-call 5.5560+-0.0535 ? 5.5818+-0.1025 ? object-test 3.1282+-0.0430 ? 3.2223+-0.2928 ? might be 1.0301x slower obvious-sink-pathology-taken 139.8198+-1.8389 ? 140.9669+-1.5839 ? obvious-sink-pathology 132.8145+-1.1405 131.3753+-3.5439 might be 1.0110x faster obviously-elidable-new-object 36.5460+-1.7441 35.3612+-1.1989 might be 1.0335x faster plus-boolean-arith 2.4899+-0.0557 ? 2.5815+-0.3216 ? might be 1.0368x slower plus-boolean-double 3.3267+-0.4112 3.1829+-0.0506 might be 1.0452x faster plus-boolean 2.3869+-0.0775 ? 2.3895+-0.1100 ? poly-chain-access-different-prototypes-simple 3.2785+-0.0353 ? 3.3176+-0.0877 ? might be 1.0119x slower poly-chain-access-different-prototypes 2.7081+-0.3084 2.6779+-0.2624 might be 1.0113x faster poly-chain-access-simpler 3.2823+-0.0491 ? 3.6102+-0.4685 ? might be 1.0999x slower poly-chain-access 2.6131+-0.1046 ? 2.8523+-0.4463 ? might be 1.0916x slower poly-stricteq 64.5607+-3.3154 63.8735+-1.5439 might be 1.0108x faster polymorphic-array-call 1.2188+-0.0450 ? 1.2812+-0.0768 ? might be 1.0512x slower polymorphic-get-by-id 3.2569+-0.3650 3.2486+-0.4246 polymorphic-put-by-id 29.9312+-2.0821 28.5216+-2.1039 might be 1.0494x faster polymorphic-structure 14.8744+-0.2710 ? 14.9255+-0.1238 ? polyvariant-monomorphic-get-by-id 8.5388+-0.1950 ? 8.6619+-0.3829 ? might be 1.0144x slower proto-getter-access 9.8733+-0.1134 ? 10.0288+-0.2567 ? might be 1.0158x slower put-by-id-replace-and-transition 9.4556+-0.2518 9.1565+-0.1987 might be 1.0327x faster put-by-id-slightly-polymorphic 2.8470+-0.0723 ? 2.8475+-0.1230 ? put-by-id 12.7736+-0.4685 12.6323+-0.2610 might be 1.0112x faster put-by-val-direct 0.4932+-0.0532 0.4441+-0.0203 might be 1.1106x faster put-by-val-large-index-blank-indexing-type 6.1431+-0.8975 ? 6.1920+-0.7072 ? put-by-val-machine-int 2.9229+-0.3434 2.8288+-0.1054 might be 1.0333x faster rare-osr-exit-on-local 15.0174+-0.2729 ? 15.4200+-0.5485 ? might be 1.0268x slower register-pressure-from-osr 21.5786+-0.2227 21.4773+-0.2791 setter 5.8504+-0.6947 5.8326+-0.6643 simple-activation-demo 25.0827+-1.3163 ? 25.2025+-0.8883 ? simple-getter-access 12.8554+-0.1248 12.7362+-0.3154 simple-poly-call-nested 8.3132+-0.4289 ? 8.3917+-0.2113 ? simple-poly-call 1.2941+-0.0414 ? 1.3112+-0.0894 ? might be 1.0131x slower sin-boolean 23.0984+-2.4799 ? 23.2791+-1.7344 ? singleton-scope 67.6131+-1.5724 ? 67.8698+-1.2654 ? sink-function 12.1923+-0.1718 ? 12.5061+-0.3093 ? might be 1.0257x slower sinkable-new-object-dag 70.3283+-1.7334 ? 70.4615+-0.8007 ? sinkable-new-object-taken 50.3127+-2.8370 ? 53.2383+-4.1250 ? might be 1.0581x slower sinkable-new-object 40.0362+-1.5631 39.1900+-1.3512 might be 1.0216x faster slow-array-profile-convergence 2.9570+-0.3346 2.7748+-0.1744 might be 1.0657x faster slow-convergence 2.8565+-0.2856 2.7101+-0.1094 might be 1.0540x faster sorting-benchmark 24.3114+-1.0634 ? 26.3831+-1.5458 ? might be 1.0852x slower sparse-conditional 1.1098+-0.0174 ? 1.1112+-0.0226 ? splice-to-remove 16.9087+-1.3228 ? 17.0302+-1.3071 ? string-char-code-at 17.4495+-0.8190 17.0788+-0.2067 might be 1.0217x faster string-concat-object 2.5155+-0.0526 ? 2.6513+-0.2412 ? might be 1.0540x slower string-concat-pair-object 2.5625+-0.0992 2.5611+-0.2796 string-concat-pair-simple 11.7334+-0.3091 ? 11.7992+-0.6071 ? string-concat-simple 12.4244+-0.3056 ^ 11.8579+-0.1473 ^ definitely 1.0478x faster string-cons-repeat 8.1908+-0.8246 ? 8.8242+-1.0655 ? might be 1.0773x slower string-cons-tower 8.9299+-1.0495 8.6378+-1.1768 might be 1.0338x faster string-equality 17.5027+-0.3002 ? 17.5140+-0.2461 ? string-get-by-val-big-char 7.1233+-0.0510 ? 7.1560+-0.1889 ? string-get-by-val-out-of-bounds-insane 3.5767+-0.0470 ! 3.7152+-0.0818 ! definitely 1.0387x slower string-get-by-val-out-of-bounds 5.2645+-0.0904 5.2189+-0.0992 string-get-by-val 3.2490+-0.0478 ? 3.3470+-0.1514 ? might be 1.0302x slower string-hash 2.0219+-0.0078 ? 2.0362+-0.0200 ? string-long-ident-equality 15.0305+-0.1621 14.9161+-0.1169 string-out-of-bounds 14.7691+-0.1551 ? 14.8027+-0.1419 ? string-repeat-arith 32.0194+-1.7914 ? 34.4071+-3.7733 ? might be 1.0746x slower string-sub 70.9157+-2.6685 69.0497+-3.9459 might be 1.0270x faster string-test 2.9006+-0.0091 ? 3.0493+-0.3412 ? might be 1.0513x slower string-var-equality 32.0376+-1.7324 31.0959+-1.6494 might be 1.0303x faster structure-hoist-over-transitions 2.5623+-0.0581 ? 2.5887+-0.0375 ? might be 1.0103x slower substring-concat-weird 39.8503+-1.5230 ? 40.1762+-0.9750 ? substring-concat 44.8466+-9.8404 41.5787+-1.9262 might be 1.0786x faster substring 45.4343+-0.9285 ? 52.2975+-11.8364 ? might be 1.1511x slower switch-char-constant 2.7964+-0.1919 ? 2.8228+-0.3454 ? switch-char 7.3765+-0.7599 6.9538+-0.9304 might be 1.0608x faster switch-constant 8.6269+-0.3680 8.5361+-0.2334 might be 1.0106x faster switch-string-basic-big-var 18.5095+-0.7153 18.3168+-0.3529 might be 1.0105x faster switch-string-basic-big 14.5746+-0.6063 ? 14.6904+-0.6175 ? switch-string-basic-var 14.6552+-0.0893 14.5047+-0.2086 might be 1.0104x faster switch-string-basic 14.2575+-1.1958 13.7200+-0.1677 might be 1.0392x faster switch-string-big-length-tower-var 20.6095+-1.2182 ? 20.8282+-1.1872 ? might be 1.0106x slower switch-string-length-tower-var 15.1734+-0.2720 15.0629+-0.2345 switch-string-length-tower 12.9201+-0.1573 ? 13.4049+-1.4000 ? might be 1.0375x slower switch-string-short 12.7295+-0.1346 ? 12.8243+-0.1467 ? switch 12.8604+-0.3818 12.7188+-0.1645 might be 1.0111x faster tear-off-arguments-simple 3.4758+-0.0771 ? 3.5573+-0.3486 ? might be 1.0234x slower tear-off-arguments 4.8117+-0.1504 ? 4.8839+-0.2737 ? might be 1.0150x slower temporal-structure 12.2255+-0.2300 12.1271+-0.1737 to-int32-boolean 14.2917+-1.2511 14.1716+-1.1351 try-catch-get-by-val-cloned-arguments 14.9744+-1.2001 14.9017+-1.1180 try-catch-get-by-val-direct-arguments 6.4493+-0.1360 ? 7.3229+-1.2019 ? might be 1.1354x slower try-catch-get-by-val-scoped-arguments 8.4476+-0.9678 7.8149+-0.3201 might be 1.0810x faster typed-array-get-set-by-val-profiling 32.6546+-2.4144 31.8855+-0.8556 might be 1.0241x faster undefined-property-access 354.6744+-4.6668 ? 355.8507+-2.7347 ? undefined-test 3.0464+-0.0735 ? 3.1900+-0.3706 ? might be 1.0471x slower unprofiled-licm 23.1767+-1.2647 ? 23.1802+-0.6783 ? varargs-call 16.0331+-1.0511 ? 16.4089+-1.5274 ? might be 1.0234x slower varargs-construct-inline 22.7558+-0.9335 ? 23.1265+-1.3583 ? might be 1.0163x slower varargs-construct 32.2726+-0.6144 ? 32.4931+-0.5839 ? varargs-inline 9.2894+-0.1672 ? 9.3176+-0.0649 ? varargs-strict-mode 10.3754+-0.4189 ? 10.4444+-0.3240 ? varargs 10.4442+-0.3229 ? 10.5597+-0.5305 ? might be 1.0111x slower weird-inlining-const-prop 2.4345+-0.2579 ? 2.4795+-0.2009 ? might be 1.0185x slower <geometric> 8.9446+-0.0402 ? 8.9627+-0.0522 ? might be 1.0020x slower TipOfTree TypeOfIdent AsmBench: bigfib.cpp 500.1051+-12.0136 493.5783+-3.6240 might be 1.0132x faster cray.c 425.3289+-1.2464 ? 427.8199+-4.5723 ? dry.c 476.7131+-5.8241 ? 486.2112+-6.7189 ? might be 1.0199x slower FloatMM.c 722.7296+-0.5943 ? 724.5918+-2.6263 ? gcc-loops.cpp 4261.0323+-8.0316 ? 4271.8162+-10.2777 ? n-body.c 980.8115+-5.2200 980.6610+-4.5030 Quicksort.c 419.2447+-4.1600 ? 421.6214+-3.1715 ? stepanov_container.cpp 3598.9666+-13.8942 ? 3600.3155+-8.5198 ? Towers.c 259.7772+-1.4078 259.3262+-1.0578 <geometric> 790.1216+-3.3768 ? 792.0352+-1.1707 ? might be 1.0024x slower TipOfTree TypeOfIdent CompressionBench: huffman 365.5679+-4.2561 ? 365.8752+-3.6739 ? arithmetic-simple 396.5279+-3.8896 ? 398.2270+-4.7194 ? arithmetic-precise 300.3682+-4.1108 ? 300.7069+-5.5804 ? arithmetic-complex-precise 296.4917+-6.2460 ? 297.0837+-3.6115 ? arithmetic-precise-order-0 425.6515+-8.8740 419.8252+-6.3885 might be 1.0139x faster arithmetic-precise-order-1 326.9722+-4.5968 ? 329.2802+-6.4777 ? arithmetic-precise-order-2 359.8385+-4.5993 359.3593+-4.0346 arithmetic-simple-order-1 421.3988+-3.1094 ? 445.2970+-56.6161 ? might be 1.0567x slower arithmetic-simple-order-2 469.6098+-9.3403 ? 470.3293+-5.0949 ? lz-string 327.5420+-6.1878 324.7174+-2.7991 <geometric> 364.9167+-2.2243 ? 366.5009+-3.9100 ? might be 1.0043x slower TipOfTree TypeOfIdent Geomean of preferred means: <scaled-result> 64.4212+-0.1199 ? 64.4772+-0.2138 ? might be 1.0009x slower
Filip Pizlo
Comment 5 2015-04-28 22:59:06 PDT
Created attachment 251927 [details] the patch
WebKit Commit Bot
Comment 6 2015-04-28 23:01:43 PDT
Attachment 251927 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGAbstractValue.h:203: The parameter name "graph" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/dfg/DFGAbstractValue.h:203: The parameter name "type" adds no information, so it should be removed. [readability/parameter_name] [5] Total errors found: 2 in 10 files If any of these errors are false positives, please file a bug against check-webkit-style.
Andreas Kling
Comment 7 2015-04-29 08:38:34 PDT
Comment on attachment 251927 [details] the patch r=me
Filip Pizlo
Comment 8 2015-04-29 08:57:50 PDT
Note You need to log in before you can comment on or make changes to this bug.