Bug 143858

Summary: Inline JSFunction allocation in DFG
Product: WebKit Reporter: Basile Clement <basile_clement>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Enhancement CC: commit-queue, fpizlo, ggaren, msaboff
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Tentative patch
none
Patch w/ ChangeLog none

Basile Clement
Reported 2015-04-16 18:01:15 PDT
Created attachment 250985 [details] Tentative patch Followup to https://bugs.webkit.org/show_bug.cgi?id=143851 for the DFG.
Attachments
Tentative patch (2.44 KB, patch)
2015-04-16 18:01 PDT, Basile Clement
no flags
Patch w/ ChangeLog (3.19 KB, patch)
2015-04-17 10:29 PDT, Basile Clement
no flags
Basile Clement
Comment 1 2015-04-17 10:20:18 PDT
Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on Basiles-MacBook-Pro (MacBookPro11,3). VMs tested: "Conf#1" at /Volumes/Data/Baseline/OpenSource/WebKitBuild/Release/jsc (r182938) "Conf#2" at /Volumes/Data/Temp/OpenSource/WebKitBuild/Release/jsc (r182938) 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. Conf#1 Conf#2 SunSpider: 3d-cube 4.9959+-1.0943 4.5124+-0.3419 might be 1.1072x faster 3d-morph 5.2896+-0.1253 ? 5.5912+-0.4096 ? might be 1.0570x slower 3d-raytrace 5.6804+-0.7837 5.3744+-0.2644 might be 1.0569x faster access-binary-trees 2.3889+-0.2820 2.0644+-0.0940 might be 1.1572x faster access-fannkuch 5.2269+-0.1094 5.1610+-0.2040 might be 1.0128x faster access-nbody 2.6330+-0.2659 2.5464+-0.1158 might be 1.0340x faster access-nsieve 3.1600+-0.1655 3.0329+-0.1084 might be 1.0419x faster bitops-3bit-bits-in-byte 1.4294+-0.0731 1.3934+-0.0488 might be 1.0258x faster bitops-bits-in-byte 3.1659+-0.1006 ? 3.1810+-0.1432 ? bitops-bitwise-and 2.0442+-0.0936 2.0292+-0.0776 bitops-nsieve-bits 3.2815+-0.0326 ! 3.5539+-0.2219 ! definitely 1.0830x slower controlflow-recursive 1.9012+-0.1095 ? 1.9777+-0.1799 ? might be 1.0403x slower crypto-aes 3.6364+-0.1368 ? 3.6557+-0.1318 ? crypto-md5 2.1826+-0.0942 2.1824+-0.1327 crypto-sha1 2.3062+-0.1187 ? 2.4701+-0.4510 ? might be 1.0711x slower date-format-tofte 7.3141+-0.3188 7.1736+-0.6365 might be 1.0196x faster date-format-xparb 5.0319+-0.4031 ? 5.1616+-0.5751 ? might be 1.0258x slower math-cordic 2.8018+-0.1322 ? 2.8422+-0.2522 ? might be 1.0144x slower math-partial-sums 4.4148+-0.0872 ? 4.5905+-0.2784 ? might be 1.0398x slower math-spectral-norm 1.6789+-0.0357 ? 1.7437+-0.1066 ? might be 1.0386x slower regexp-dna 6.9235+-0.8635 ? 6.9364+-0.5593 ? string-base64 4.7501+-0.4464 4.2692+-0.2192 might be 1.1126x faster string-fasta 6.0972+-0.5221 5.8739+-0.1284 might be 1.0380x faster string-tagcloud 8.7937+-0.1796 ? 8.8888+-0.3218 ? might be 1.0108x slower string-unpack-code 19.0987+-0.3902 18.8024+-0.6295 might be 1.0158x faster string-validate-input 4.4462+-0.2745 4.3289+-0.1446 might be 1.0271x faster <arithmetic> 4.6413+-0.1010 4.5899+-0.1018 might be 1.0112x faster Conf#1 Conf#2 LongSpider: 3d-cube 814.9658+-35.5485 ? 820.8931+-21.0294 ? 3d-morph 1563.4983+-13.4850 1555.9656+-8.7326 3d-raytrace 687.1178+-9.7529 682.3220+-5.1255 access-binary-trees 867.9478+-11.7785 866.2981+-5.8212 access-fannkuch 277.5400+-8.1595 274.7520+-8.0463 might be 1.0101x faster access-nbody 567.7792+-5.3760 565.3801+-9.1432 access-nsieve 662.1027+-11.9306 ? 663.1873+-8.7271 ? bitops-3bit-bits-in-byte 42.1237+-1.7640 41.8837+-1.4233 bitops-bits-in-byte 87.7118+-5.4453 ? 88.8779+-5.8104 ? might be 1.0133x slower bitops-nsieve-bits 719.2142+-67.6014 692.2164+-6.6668 might be 1.0390x faster controlflow-recursive 470.4679+-10.2026 462.5347+-1.9931 might be 1.0172x faster crypto-aes 583.9785+-12.7937 570.8741+-14.9440 might be 1.0230x faster crypto-md5 547.5059+-8.8702 545.0249+-9.0164 crypto-sha1 589.0832+-13.1413 ? 589.3488+-10.9312 ? date-format-tofte 539.9091+-15.1063 531.3645+-8.0444 might be 1.0161x faster date-format-xparb 655.0319+-6.6611 ? 657.1007+-8.4559 ? math-cordic 516.1988+-9.6779 ? 522.3811+-4.2828 ? might be 1.0120x slower math-partial-sums 432.9983+-6.0896 428.1901+-2.0555 might be 1.0112x faster math-spectral-norm 579.3654+-11.0570 573.8969+-6.3475 string-base64 339.5532+-10.1421 330.9329+-4.1886 might be 1.0260x faster string-fasta 386.1998+-8.8406 ? 388.2018+-7.8888 ? string-tagcloud 205.5671+-3.1263 202.7137+-3.1464 might be 1.0141x faster <geometric> 449.4536+-2.3169 446.4981+-2.5724 might be 1.0066x faster Conf#1 Conf#2 V8Spider: crypto 52.0699+-1.9914 ? 52.6208+-2.8707 ? might be 1.0106x slower deltablue 85.0733+-3.1081 ? 87.5578+-3.1808 ? might be 1.0292x slower earley-boyer 42.4062+-3.1543 41.4572+-1.7890 might be 1.0229x faster raytrace 33.1370+-2.3627 32.5623+-1.6384 might be 1.0176x faster regexp 60.3775+-1.7138 59.0704+-4.3206 might be 1.0221x faster richards 75.3837+-2.8853 ? 76.0578+-2.9865 ? splay 37.5921+-3.5846 ? 39.0054+-3.6105 ? might be 1.0376x slower <geometric> 52.2070+-1.2935 ? 52.3847+-1.5781 ? might be 1.0034x slower Conf#1 Conf#2 Octane: encrypt 0.20215+-0.00281 ? 0.20261+-0.00190 ? decrypt 3.64000+-0.12462 ? 3.76278+-0.14353 ? might be 1.0337x slower deltablue x2 0.16505+-0.00106 ? 0.16628+-0.00297 ? earley 0.45595+-0.00439 0.45479+-0.00473 boyer 5.86616+-0.13465 ? 5.94551+-0.25043 ? might be 1.0135x slower navier-stokes x2 5.25974+-0.04696 5.24121+-0.04207 raytrace x2 1.05549+-0.04584 1.04902+-0.04326 richards x2 0.09646+-0.00194 ? 0.09758+-0.00282 ? might be 1.0116x slower splay x2 0.36449+-0.00649 0.35870+-0.00442 might be 1.0161x faster regexp x2 28.95485+-0.95644 ? 29.06090+-0.83433 ? pdfjs x2 40.02296+-0.48642 ^ 39.15889+-0.26613 ^ definitely 1.0221x faster mandreel x2 47.62958+-0.76722 47.61555+-0.58358 gbemu x2 32.86900+-1.89399 32.83267+-0.36603 closure 0.50917+-0.00793 ? 0.51385+-0.00913 ? jquery 6.32279+-0.06921 6.30363+-0.05111 box2d x2 10.62778+-0.08670 ? 10.64648+-0.09869 ? zlib x2 358.51485+-23.15951 ? 367.68956+-18.64479 ? might be 1.0256x slower typescript x2 681.14339+-10.77823 ? 700.81665+-63.70939 ? might be 1.0289x slower <geometric> 5.91544+-0.03468 ? 5.93677+-0.02523 ? might be 1.0036x slower Conf#1 Conf#2 Kraken: ai-astar 282.343+-11.923 282.302+-9.452 audio-beat-detection 99.705+-1.519 98.522+-0.627 might be 1.0120x faster audio-dft 171.697+-3.355 169.609+-5.700 might be 1.0123x faster audio-fft 82.062+-1.852 80.932+-2.660 might be 1.0140x faster audio-oscillator 183.845+-2.334 183.654+-4.232 imaging-darkroom 97.082+-1.455 ? 97.527+-1.439 ? imaging-desaturate 60.170+-3.606 59.289+-4.217 might be 1.0149x faster imaging-gaussian-blur 90.392+-1.514 ? 90.984+-1.528 ? json-parse-financial 38.776+-2.165 ? 39.975+-1.258 ? might be 1.0309x slower json-stringify-tinderbox 52.582+-1.626 ? 53.972+-1.793 ? might be 1.0264x slower stanford-crypto-aes 60.680+-2.109 60.305+-0.534 stanford-crypto-ccm 50.788+-4.375 ? 53.100+-4.876 ? might be 1.0455x slower stanford-crypto-pbkdf2 153.815+-2.158 ? 156.204+-5.667 ? might be 1.0155x slower stanford-crypto-sha256-iterative 51.530+-2.471 ? 51.927+-2.156 ? <arithmetic> 105.391+-0.444 ? 105.593+-0.944 ? might be 1.0019x slower Conf#1 Conf#2 JSRegress: abs-boolean 2.4668+-0.1332 2.3853+-0.0350 might be 1.0342x faster adapt-to-double-divide 16.3211+-0.1352 ? 16.4358+-0.2166 ? aliased-arguments-getbyval 1.1725+-0.1188 ? 1.2913+-0.1876 ? might be 1.1013x slower allocate-big-object 2.5576+-0.2031 ? 2.6613+-0.3331 ? might be 1.0406x slower arguments-named-and-reflective 11.8490+-1.1292 ? 12.0099+-0.7791 ? might be 1.0136x slower arguments-out-of-bounds 10.9899+-0.4188 10.8677+-0.4336 might be 1.0112x faster arguments-strict-mode 11.0015+-0.9199 10.2822+-0.6179 might be 1.0700x faster arguments 9.2372+-0.4147 9.2065+-0.6977 arity-mismatch-inlining 0.7919+-0.0508 ? 0.8375+-0.0430 ? might be 1.0576x slower array-access-polymorphic-structure 6.8670+-1.2782 6.1796+-0.4352 might be 1.1112x faster array-nonarray-polymorhpic-access 29.3447+-0.8676 ? 29.4056+-1.4663 ? array-prototype-every 82.1355+-2.8574 ? 83.5689+-1.1903 ? might be 1.0175x slower array-prototype-forEach 80.7449+-1.9082 80.3092+-2.1939 array-prototype-map 90.6488+-3.6431 89.6093+-2.9590 might be 1.0116x faster array-prototype-some 81.9708+-2.0286 ? 82.5007+-1.5549 ? array-splice-contiguous 44.7777+-1.7169 ^ 41.0019+-1.2845 ^ definitely 1.0921x faster array-with-double-add 3.3574+-0.0823 ? 3.6639+-0.4627 ? might be 1.0913x slower array-with-double-increment 3.6660+-1.2023 3.1916+-0.1531 might be 1.1487x faster array-with-double-mul-add 4.2867+-0.1949 4.1980+-0.1219 might be 1.0211x faster array-with-double-sum 3.1760+-0.1109 ? 3.1889+-0.1375 ? array-with-int32-add-sub 5.7072+-0.2038 ? 5.9279+-0.2046 ? might be 1.0387x slower array-with-int32-or-double-sum 3.2356+-0.0787 3.1990+-0.0475 might be 1.0114x faster ArrayBuffer-DataView-alloc-large-long-lived 29.7510+-3.6856 ? 31.3477+-3.6773 ? might be 1.0537x slower ArrayBuffer-DataView-alloc-long-lived 12.4989+-0.3995 ? 12.5953+-0.3090 ? ArrayBuffer-Int32Array-byteOffset 3.6076+-0.0780 ? 3.7572+-0.1860 ? might be 1.0415x slower ArrayBuffer-Int8Array-alloc-large-long-lived 30.6820+-1.9492 ? 30.8117+-2.9593 ? ArrayBuffer-Int8Array-alloc-long-lived-buffer 25.4908+-8.7280 23.4365+-3.0945 might be 1.0877x faster ArrayBuffer-Int8Array-alloc-long-lived 12.5179+-0.5624 ? 12.6110+-1.5500 ? ArrayBuffer-Int8Array-alloc 11.5504+-2.0182 10.3855+-0.4550 might be 1.1122x faster asmjs_bool_bug 6.7031+-0.2497 ? 6.9381+-0.2592 ? might be 1.0351x slower assign-custom-setter-polymorphic 2.5368+-0.1468 ? 2.6702+-0.2503 ? might be 1.0526x slower assign-custom-setter 3.6125+-0.1824 3.3782+-0.0557 might be 1.0694x faster basic-set 8.1740+-0.8082 7.7524+-0.4143 might be 1.0544x faster big-int-mul 3.4808+-0.1501 ? 3.7066+-0.5298 ? might be 1.0649x slower boolean-test 2.9441+-0.2422 2.9398+-0.3030 branch-fold 3.5598+-0.0958 ? 3.6414+-0.1112 ? might be 1.0229x slower by-val-generic 7.5972+-0.2822 ? 7.9903+-0.7615 ? might be 1.0517x slower call-spread-apply 27.9915+-1.2961 27.5776+-0.8085 might be 1.0150x faster call-spread-call 22.7258+-0.7036 22.3523+-1.0970 might be 1.0167x faster captured-assignments 0.4281+-0.1507 ? 0.4463+-0.1590 ? might be 1.0424x slower cast-int-to-double 4.8151+-0.2081 ? 4.8556+-0.1301 ? cell-argument 6.7994+-0.3358 6.5558+-0.4030 might be 1.0372x faster cfg-simplify 2.8358+-0.0555 ? 3.0753+-0.2769 ? might be 1.0844x slower chain-getter-access 9.2125+-0.1285 ? 9.3449+-0.3410 ? might be 1.0144x slower cmpeq-obj-to-obj-other 11.4578+-1.3107 ? 12.0881+-1.1718 ? might be 1.0550x slower constant-test 4.5437+-0.0957 ? 4.5610+-0.0693 ? create-lots-of-functions 18.9871+-2.4324 ^ 9.4279+-0.3988 ^ definitely 2.0139x faster DataView-custom-properties 34.7858+-3.0273 ? 37.4008+-2.8519 ? might be 1.0752x slower deconstructing-parameters-overridden-by-function 0.4787+-0.0384 0.4319+-0.0300 might be 1.1084x faster delay-tear-off-arguments-strictmode 12.7622+-0.4320 12.7586+-0.4392 deltablue-varargs 150.5197+-4.3720 150.0357+-3.4012 destructuring-arguments 14.3396+-1.2756 14.2848+-1.1279 destructuring-swap 4.6907+-0.0774 ? 4.7334+-0.1099 ? direct-arguments-getbyval 1.2965+-0.1783 1.1982+-0.0820 might be 1.0821x faster div-boolean-double 5.4027+-0.0738 ? 5.5210+-0.1080 ? might be 1.0219x slower div-boolean 8.4338+-0.1787 8.3501+-0.1575 might be 1.0100x faster double-get-by-val-out-of-bounds 4.7163+-1.6757 4.5033+-0.2876 might be 1.0473x faster double-pollution-getbyval 9.0106+-0.2585 ? 9.0570+-0.3545 ? double-pollution-putbyoffset 4.0502+-0.2192 ? 4.3794+-0.5950 ? might be 1.0813x slower double-to-int32-typed-array-no-inline 2.0074+-0.0674 1.9854+-0.0354 might be 1.0111x faster double-to-int32-typed-array 1.8806+-0.2769 1.7089+-0.0866 might be 1.1005x faster double-to-uint32-typed-array-no-inline 2.1084+-0.2312 ? 2.1415+-0.0864 ? might be 1.0157x slower double-to-uint32-typed-array 1.7812+-0.1284 ? 1.8796+-0.1435 ? might be 1.0552x slower elidable-new-object-dag 35.6639+-1.1049 ? 38.0355+-2.3413 ? might be 1.0665x slower elidable-new-object-roflcopter 39.8967+-3.8518 39.4917+-1.8026 might be 1.0103x faster elidable-new-object-then-call 32.6295+-2.2179 32.0458+-2.4875 might be 1.0182x faster elidable-new-object-tree 38.3145+-1.0792 ? 38.7646+-2.4680 ? might be 1.0117x slower empty-string-plus-int 4.9624+-0.3341 4.8513+-0.1919 might be 1.0229x faster emscripten-cube2hash 28.7755+-0.7462 28.1398+-1.8905 might be 1.0226x faster exit-length-on-plain-object 13.4777+-1.4377 12.8354+-0.2627 might be 1.0500x faster external-arguments-getbyval 1.2004+-0.0600 1.1799+-0.0501 might be 1.0174x faster external-arguments-putbyval 2.1657+-0.1958 ? 2.2706+-0.3248 ? might be 1.0484x slower fixed-typed-array-storage-var-index 1.2061+-0.0739 ? 1.2522+-0.1083 ? might be 1.0382x slower fixed-typed-array-storage 0.8795+-0.1309 0.8287+-0.1225 might be 1.0614x faster Float32Array-matrix-mult 3.9055+-0.1853 ? 3.9605+-0.2335 ? might be 1.0141x slower Float32Array-to-Float64Array-set 48.8589+-1.4917 ? 50.9688+-2.5583 ? might be 1.0432x slower Float64Array-alloc-long-lived 67.1545+-4.7694 ? 67.1813+-3.7122 ? Float64Array-to-Int16Array-set 63.4022+-1.9848 ^ 59.0587+-1.4005 ^ definitely 1.0735x faster fold-double-to-int 12.8688+-0.3479 12.8200+-0.3800 fold-get-by-id-to-multi-get-by-offset-rare-int 9.5999+-0.4841 ? 10.0028+-0.4263 ? might be 1.0420x slower fold-get-by-id-to-multi-get-by-offset 7.6132+-0.2588 ? 7.7948+-1.0497 ? might be 1.0239x slower fold-multi-get-by-offset-to-get-by-offset 7.2808+-1.5504 ? 7.4327+-0.9815 ? might be 1.0209x slower fold-multi-get-by-offset-to-poly-get-by-offset 7.2904+-0.6992 7.0988+-0.9597 might be 1.0270x faster fold-multi-put-by-offset-to-poly-put-by-offset 7.4683+-0.7553 ? 7.8783+-0.4889 ? might be 1.0549x slower fold-multi-put-by-offset-to-put-by-offset 4.3874+-0.2591 ? 4.4310+-0.6222 ? fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 8.7172+-0.6185 ? 8.7418+-0.9197 ? fold-put-by-id-to-multi-put-by-offset 8.1610+-0.3644 ? 8.3720+-0.3962 ? might be 1.0259x slower fold-put-structure 3.8477+-0.4701 ? 4.0723+-0.7086 ? might be 1.0584x slower for-of-iterate-array-entries 4.4391+-0.2826 ? 4.4700+-0.5935 ? for-of-iterate-array-keys 3.4400+-0.2667 3.3213+-0.1120 might be 1.0357x faster for-of-iterate-array-values 3.7982+-0.6670 3.5573+-0.2183 might be 1.0677x faster fround 18.1334+-0.9611 ? 18.2797+-0.6526 ? ftl-library-inlining-dataview 59.9689+-1.6186 ? 60.8255+-1.9721 ? might be 1.0143x slower ftl-library-inlining 113.9421+-1.7700 111.8659+-2.5664 might be 1.0186x faster function-dot-apply 2.0202+-0.0483 ? 2.0903+-0.1635 ? might be 1.0347x slower function-test 3.1288+-0.3999 2.8917+-0.0918 might be 1.0820x faster function-with-eval 98.1442+-4.3029 97.8414+-4.0672 gcse-poly-get-less-obvious 15.1523+-0.8459 ? 16.8424+-5.6518 ? might be 1.1115x slower gcse-poly-get 16.8250+-0.7081 ? 17.0660+-0.9448 ? might be 1.0143x slower gcse 3.8459+-0.1737 ? 4.0239+-0.2868 ? might be 1.0463x slower get-by-id-bimorphic-check-structure-elimination-simple 2.7905+-0.5311 2.7018+-0.1651 might be 1.0328x faster get-by-id-bimorphic-check-structure-elimination 5.9204+-0.3100 5.8412+-0.2026 might be 1.0136x faster get-by-id-chain-from-try-block 6.6598+-0.2080 6.5416+-0.1412 might be 1.0181x faster get-by-id-check-structure-elimination 4.3881+-0.0514 ? 4.7001+-0.3612 ? might be 1.0711x slower get-by-id-proto-or-self 14.4138+-0.5182 ? 14.7461+-0.4156 ? might be 1.0231x slower get-by-id-quadmorphic-check-structure-elimination-simple 2.9945+-0.1863 2.9040+-0.0579 might be 1.0312x faster get-by-id-self-or-proto 15.3785+-1.1720 15.0958+-0.7749 might be 1.0187x faster get-by-val-out-of-bounds 3.9423+-0.2244 3.9283+-0.0965 get_callee_monomorphic 3.3409+-0.2732 ^ 2.3333+-0.1429 ^ definitely 1.4318x faster get_callee_polymorphic 3.5182+-0.2762 3.3888+-0.3014 might be 1.0382x faster getter-no-activation 5.0501+-0.3046 4.9400+-0.2223 might be 1.0223x faster getter-richards 111.0585+-8.3659 110.0032+-8.4782 getter 5.7444+-1.0180 5.5756+-0.4495 might be 1.0303x faster global-var-const-infer-fire-from-opt 0.9640+-0.2955 0.9090+-0.1284 might be 1.0605x faster global-var-const-infer 0.6953+-0.0261 ? 0.7823+-0.1265 ? might be 1.1252x slower HashMap-put-get-iterate-keys 24.7375+-0.9002 24.6648+-0.9605 HashMap-put-get-iterate 23.5422+-0.4813 ? 24.0427+-0.6303 ? might be 1.0213x slower HashMap-string-put-get-iterate 23.4868+-0.9552 ? 24.3342+-1.5594 ? might be 1.0361x slower hoist-make-rope 8.4914+-0.7527 8.4186+-0.7780 hoist-poly-check-structure-effectful-loop 4.1397+-0.1058 ? 4.3927+-0.5859 ? might be 1.0611x slower hoist-poly-check-structure 3.3464+-0.0943 3.2797+-0.1205 might be 1.0203x faster imul-double-only 7.2931+-1.0207 7.0920+-0.7585 might be 1.0284x faster imul-int-only 8.6156+-0.9070 8.4594+-0.2000 might be 1.0185x faster imul-mixed 6.9741+-0.7017 ? 7.1863+-0.7829 ? might be 1.0304x slower in-four-cases 16.2544+-0.7756 ? 16.8105+-0.9422 ? might be 1.0342x slower in-one-case-false 9.2295+-0.7492 8.7017+-0.3189 might be 1.0607x faster in-one-case-true 9.1511+-0.4971 8.5088+-0.5397 might be 1.0755x faster in-two-cases 9.1864+-0.7800 8.9432+-0.5457 might be 1.0272x faster indexed-properties-in-objects 2.8118+-0.1199 2.8064+-0.0366 infer-closure-const-then-mov-no-inline 3.1728+-0.0390 ? 3.2589+-0.5591 ? might be 1.0272x slower infer-closure-const-then-mov 17.6415+-0.5690 ? 17.9629+-0.5864 ? might be 1.0182x slower infer-closure-const-then-put-to-scope-no-inline 11.8454+-0.2235 ! 13.4003+-1.0767 ! definitely 1.1313x slower infer-closure-const-then-put-to-scope 24.1685+-1.3593 24.0559+-0.5496 infer-closure-const-then-reenter-no-inline 53.4620+-1.4459 53.3250+-2.1983 infer-closure-const-then-reenter 24.9305+-1.1769 ? 25.1358+-1.6713 ? infer-constant-global-property 30.5859+-0.4359 ? 31.5210+-1.5441 ? might be 1.0306x slower infer-constant-property 2.5665+-0.0738 ? 2.6038+-0.1058 ? might be 1.0145x slower infer-one-time-closure-ten-vars 9.1615+-0.6092 8.6546+-0.4356 might be 1.0586x faster infer-one-time-closure-two-vars 8.3731+-0.6564 8.3027+-0.5761 infer-one-time-closure 8.3018+-0.4683 ? 8.4786+-0.6089 ? might be 1.0213x slower infer-one-time-deep-closure 13.3691+-0.7370 13.2638+-0.3695 inline-arguments-access 4.1444+-0.3574 ? 4.4445+-0.7553 ? might be 1.0724x slower inline-arguments-aliased-access 4.1969+-0.4683 3.8310+-0.0893 might be 1.0955x faster inline-arguments-local-escape 4.2596+-0.3941 4.0513+-0.2338 might be 1.0514x faster inline-get-scoped-var 4.6948+-0.1259 ? 4.7699+-0.1926 ? might be 1.0160x slower inlined-put-by-id-transition 10.2990+-0.8483 ? 10.4126+-1.2314 ? might be 1.0110x slower int-or-other-abs-then-get-by-val 4.9539+-0.3030 4.8956+-0.3505 might be 1.0119x faster int-or-other-abs-zero-then-get-by-val 17.3810+-0.9218 16.7992+-1.1303 might be 1.0346x faster int-or-other-add-then-get-by-val 4.1999+-0.2394 4.0674+-0.1666 might be 1.0326x faster int-or-other-add 4.9336+-0.1747 4.8136+-0.0594 might be 1.0249x faster int-or-other-div-then-get-by-val 3.7716+-0.1186 ? 3.8949+-0.2051 ? might be 1.0327x slower int-or-other-max-then-get-by-val 4.0620+-0.2734 3.9160+-0.0493 might be 1.0373x faster int-or-other-min-then-get-by-val 4.0815+-0.1445 ? 4.1863+-0.1235 ? might be 1.0257x slower int-or-other-mod-then-get-by-val 3.5678+-0.2011 3.5035+-0.0917 might be 1.0183x faster int-or-other-mul-then-get-by-val 3.8195+-0.1838 3.7534+-0.1531 might be 1.0176x faster int-or-other-neg-then-get-by-val 4.3376+-0.1156 4.3139+-0.1166 int-or-other-neg-zero-then-get-by-val 16.6921+-0.1146 ^ 16.2137+-0.1689 ^ definitely 1.0295x faster int-or-other-sub-then-get-by-val 3.9800+-0.2144 ? 4.7524+-1.8728 ? might be 1.1941x slower int-or-other-sub 3.4191+-0.1449 3.3846+-0.1649 might be 1.0102x faster int-overflow-local 4.0495+-0.0484 ? 4.2133+-0.1895 ? might be 1.0404x slower Int16Array-alloc-long-lived 47.2445+-2.7421 46.8017+-2.2512 Int16Array-bubble-sort-with-byteLength 18.0255+-1.1212 17.3748+-0.2937 might be 1.0375x faster Int16Array-bubble-sort 17.6534+-0.2822 17.5049+-0.5696 Int16Array-load-int-mul 1.3690+-0.0477 ? 1.3725+-0.0306 ? Int16Array-to-Int32Array-set 46.2663+-2.0618 ? 47.1484+-2.0984 ? might be 1.0191x slower Int32Array-alloc-large 13.4534+-1.8265 12.8026+-1.0375 might be 1.0508x faster Int32Array-alloc-long-lived 52.7792+-2.8926 ? 55.6372+-2.4466 ? might be 1.0541x slower Int32Array-alloc 2.8229+-0.1787 ? 2.9288+-0.0657 ? might be 1.0375x slower Int32Array-Int8Array-view-alloc 6.2201+-0.2202 ? 6.5665+-0.3445 ? might be 1.0557x slower int52-spill 5.9745+-0.2659 5.8482+-0.1474 might be 1.0216x faster Int8Array-alloc-long-lived 42.9179+-1.6254 ? 43.9277+-3.0367 ? might be 1.0235x slower Int8Array-load-with-byteLength 3.3618+-0.0602 ? 3.4237+-0.0846 ? might be 1.0184x slower Int8Array-load 3.4449+-0.1124 3.4062+-0.1054 might be 1.0113x faster integer-divide 11.4934+-0.6796 11.0701+-0.1350 might be 1.0382x faster integer-modulo 1.7074+-0.1674 ? 1.7418+-0.1576 ? might be 1.0201x slower large-int-captured 4.8401+-0.0873 4.4594+-1.2697 might be 1.0854x faster large-int-neg 15.0287+-0.3427 14.8184+-0.4522 might be 1.0142x faster large-int 14.1299+-0.3786 ? 14.8934+-1.1249 ? might be 1.0540x slower logical-not 4.3064+-0.2876 4.2842+-0.1890 lots-of-fields 10.2081+-0.4215 ? 10.5051+-0.7528 ? might be 1.0291x slower make-indexed-storage 2.9184+-0.1320 2.8519+-0.2004 might be 1.0233x faster make-rope-cse 4.3558+-0.6947 4.1919+-0.5485 might be 1.0391x faster marsaglia-larger-ints 34.2370+-1.9631 34.1095+-2.4698 marsaglia-osr-entry 22.0649+-1.3644 ? 22.1575+-1.0296 ? max-boolean 2.6755+-0.1408 2.6515+-0.0298 method-on-number 16.3193+-1.2411 ? 18.3401+-5.6243 ? might be 1.1238x slower min-boolean 2.6875+-0.1590 2.6368+-0.0635 might be 1.0192x faster minus-boolean-double 3.1679+-0.1669 3.0748+-0.0757 might be 1.0303x faster minus-boolean 2.3527+-0.1538 ? 2.3667+-0.2369 ? misc-strict-eq 31.4547+-2.5803 ? 31.7823+-2.8255 ? might be 1.0104x slower mod-boolean-double 11.5057+-0.2237 11.3328+-0.2318 might be 1.0153x faster mod-boolean 8.6504+-0.3998 8.4964+-0.1208 might be 1.0181x faster mul-boolean-double 3.6112+-0.1159 ? 3.7336+-0.3061 ? might be 1.0339x slower mul-boolean 3.0221+-0.4676 2.8547+-0.0833 might be 1.0586x faster neg-boolean 3.0870+-0.0707 ? 3.0907+-0.0956 ? negative-zero-divide 0.2991+-0.0527 0.2958+-0.0207 might be 1.0110x faster negative-zero-modulo 0.3044+-0.0423 ? 0.3237+-0.1024 ? might be 1.0634x slower negative-zero-negate 0.2731+-0.0177 0.2690+-0.0144 might be 1.0151x faster nested-function-parsing 33.9961+-1.8870 33.1041+-0.4931 might be 1.0269x faster new-array-buffer-dead 2.7279+-0.0864 ? 2.8191+-0.1431 ? might be 1.0334x slower new-array-buffer-push 6.0931+-0.2576 ? 6.5243+-0.7204 ? might be 1.0708x slower new-array-dead 9.6477+-0.7117 9.4531+-0.5190 might be 1.0206x faster new-array-push 3.6468+-0.2612 ? 4.1661+-1.2766 ? might be 1.1424x slower no-inline-constructor 106.2667+-3.8801 105.4974+-6.7214 number-test 2.9215+-0.1655 ? 2.9782+-0.4552 ? might be 1.0194x slower object-closure-call 4.8600+-0.0689 ? 4.8656+-0.1040 ? object-test 2.8207+-0.0334 ? 2.9138+-0.0966 ? might be 1.0330x slower obvious-sink-pathology-taken 106.0748+-5.4225 ? 107.1154+-4.3667 ? obvious-sink-pathology 103.4908+-6.7765 ? 105.5759+-5.7620 ? might be 1.0201x slower obviously-elidable-new-object 28.6159+-1.5578 ? 30.6864+-1.9510 ? might be 1.0724x slower plus-boolean-arith 2.3335+-0.0396 2.3100+-0.0501 might be 1.0101x faster plus-boolean-double 3.1731+-0.2469 ? 3.1767+-0.1003 ? plus-boolean 2.4841+-0.0333 ? 2.5883+-0.0937 ? might be 1.0419x slower poly-chain-access-different-prototypes-simple 2.7006+-0.0739 ? 2.7911+-0.1422 ? might be 1.0335x slower poly-chain-access-different-prototypes 2.5861+-0.1904 2.4858+-0.0651 might be 1.0404x faster poly-chain-access-simpler 2.7908+-0.0764 2.6846+-0.0739 might be 1.0396x faster poly-chain-access 2.6027+-0.2383 2.4792+-0.0455 might be 1.0498x faster poly-stricteq 48.3227+-1.1871 ? 48.4513+-0.2904 ? polymorphic-array-call 1.4972+-0.8277 1.0922+-0.1557 might be 1.3708x faster polymorphic-get-by-id 3.1423+-0.5753 2.8631+-0.1227 might be 1.0975x faster polymorphic-put-by-id 25.1194+-1.2878 ? 25.7991+-1.5669 ? might be 1.0271x slower polymorphic-structure 13.6026+-0.3682 13.5074+-0.5880 polyvariant-monomorphic-get-by-id 6.9258+-0.8485 6.6697+-0.7180 might be 1.0384x faster proto-getter-access 9.1963+-0.1433 ? 9.2290+-0.1840 ? put-by-id-replace-and-transition 8.5133+-1.1741 ? 8.9386+-1.4428 ? might be 1.0500x slower put-by-id-slightly-polymorphic 2.6300+-0.1727 2.5977+-0.0874 might be 1.0124x faster put-by-id 10.3231+-1.1299 ? 10.5591+-1.3013 ? might be 1.0229x slower put-by-val-direct 0.3752+-0.0087 ? 0.4081+-0.0509 ? might be 1.0875x slower put-by-val-large-index-blank-indexing-type 5.9140+-0.5136 5.5265+-0.1620 might be 1.0701x faster put-by-val-machine-int 2.4490+-0.1365 ? 2.4705+-0.1202 ? rare-osr-exit-on-local 15.0119+-0.2616 15.0057+-0.3264 register-pressure-from-osr 17.5838+-0.6505 17.4080+-0.2564 might be 1.0101x faster setter 5.5918+-0.2765 ? 5.7062+-0.1645 ? might be 1.0205x slower simple-activation-demo 25.4814+-0.8538 25.0960+-0.3436 might be 1.0154x faster simple-getter-access 12.3177+-0.3012 ? 12.5297+-0.4648 ? might be 1.0172x slower simple-poly-call-nested 9.5285+-0.7382 ? 9.5358+-0.2499 ? simple-poly-call 1.1591+-0.0473 ? 1.2340+-0.1303 ? might be 1.0646x slower sin-boolean 19.4921+-2.1655 19.2417+-1.8804 might be 1.0130x faster singleton-scope 64.5220+-2.2685 63.6473+-1.2471 might be 1.0137x faster sinkable-new-object-dag 59.8290+-1.1883 ? 62.0542+-3.9128 ? might be 1.0372x slower sinkable-new-object-taken 47.9864+-2.8343 45.2465+-1.4543 might be 1.0606x faster sinkable-new-object 33.0988+-2.6862 32.1648+-4.0545 might be 1.0290x faster slow-array-profile-convergence 2.6935+-0.1626 2.6027+-0.2330 might be 1.0349x faster slow-convergence 2.3252+-0.0506 ? 2.4869+-0.3490 ? might be 1.0696x slower sorting-benchmark 20.0013+-0.8926 ? 20.1990+-0.7600 ? sparse-conditional 1.0628+-0.0300 ? 1.1469+-0.2288 ? might be 1.0791x slower splice-to-remove 14.3302+-1.0868 14.3285+-0.9879 string-char-code-at 15.7769+-1.6197 ? 16.6093+-2.7293 ? might be 1.0528x slower string-concat-object 2.2705+-0.1394 ? 2.3042+-0.1312 ? might be 1.0148x slower string-concat-pair-object 2.3495+-0.1112 2.3284+-0.1906 string-concat-pair-simple 9.6535+-0.3444 ? 10.6891+-1.4415 ? might be 1.1073x slower string-concat-simple 11.3765+-4.0999 10.0580+-1.0295 might be 1.1311x faster string-cons-repeat 7.6605+-1.4462 6.8124+-0.3899 might be 1.1245x faster string-cons-tower 7.0252+-1.0848 6.6197+-0.0549 might be 1.0613x faster string-equality 16.3884+-0.4736 16.1422+-0.4107 might be 1.0153x faster string-get-by-val-big-char 6.6145+-0.2904 ? 7.1774+-0.7466 ? might be 1.0851x slower string-get-by-val-out-of-bounds-insane 3.1566+-0.1479 ? 3.3575+-0.2206 ? might be 1.0637x slower string-get-by-val-out-of-bounds 4.2391+-0.4059 ? 4.3004+-0.5227 ? might be 1.0145x slower string-get-by-val 2.7956+-0.0111 ? 2.9993+-0.3499 ? might be 1.0729x slower string-hash 1.7841+-0.0192 ? 1.7890+-0.0295 ? string-long-ident-equality 13.4892+-0.4577 ? 14.3363+-1.5176 ? might be 1.0628x slower string-out-of-bounds 10.6067+-0.3137 ? 12.0048+-2.6883 ? might be 1.1318x slower string-repeat-arith 27.5787+-1.3176 ? 27.9270+-1.7319 ? might be 1.0126x slower string-sub 55.1309+-1.2337 54.3224+-2.1514 might be 1.0149x faster string-test 3.0958+-0.5119 2.6999+-0.0709 might be 1.1467x faster string-var-equality 29.7672+-1.9790 29.3087+-1.3974 might be 1.0156x faster structure-hoist-over-transitions 2.6607+-0.4324 2.5452+-0.4013 might be 1.0454x faster substring-concat-weird 36.2605+-2.8006 35.9377+-1.6341 substring-concat 40.0435+-3.4057 39.6460+-2.2484 might be 1.0100x faster substring 42.9924+-1.0520 ? 44.1624+-2.4620 ? might be 1.0272x slower switch-char-constant 2.8250+-0.3869 2.6088+-0.0477 might be 1.0829x faster switch-char 6.0179+-0.5683 ? 6.2934+-0.5260 ? might be 1.0458x slower switch-constant 9.2716+-1.2888 8.2566+-0.3544 might be 1.1229x faster switch-string-basic-big-var 14.0875+-1.0959 13.0583+-0.6325 might be 1.0788x faster switch-string-basic-big 13.4059+-0.4943 ? 13.4575+-0.8564 ? switch-string-basic-var 12.3174+-0.3503 ? 12.8046+-0.9212 ? might be 1.0396x slower switch-string-basic 12.3110+-0.6657 12.1985+-0.5660 switch-string-big-length-tower-var 18.8484+-0.4523 18.7945+-0.4663 switch-string-length-tower-var 13.1055+-0.1755 13.0850+-0.4414 switch-string-length-tower 11.5212+-0.4824 11.4623+-0.1508 switch-string-short 11.4731+-0.3829 ? 11.4848+-0.4870 ? switch 12.3424+-1.0476 12.3117+-1.5370 tear-off-arguments-simple 3.3680+-0.5402 3.1429+-0.2693 might be 1.0716x faster tear-off-arguments 4.2994+-0.6331 ? 4.3627+-0.4592 ? might be 1.0147x slower temporal-structure 12.2992+-0.2319 ? 12.6001+-0.5135 ? might be 1.0245x slower to-int32-boolean 13.0753+-0.2017 ? 13.3418+-0.3858 ? might be 1.0204x slower try-catch-get-by-val-cloned-arguments 14.9580+-1.8377 13.5332+-0.4518 might be 1.1053x faster try-catch-get-by-val-direct-arguments 6.3693+-0.6893 6.1887+-0.2139 might be 1.0292x faster try-catch-get-by-val-scoped-arguments 7.7805+-1.2885 7.6649+-0.2445 might be 1.0151x faster undefined-property-access 223.9280+-4.2308 220.6890+-3.4082 might be 1.0147x faster undefined-test 2.9725+-0.1720 2.9205+-0.1416 might be 1.0178x faster unprofiled-licm 14.6007+-0.7731 14.4803+-0.4027 varargs-call 14.4388+-0.6160 14.3230+-0.2521 varargs-construct-inline 19.5091+-1.9639 ? 21.1695+-5.4614 ? might be 1.0851x slower varargs-construct 31.9564+-1.9662 31.7951+-1.4661 varargs-inline 8.6591+-0.1925 8.4792+-0.1679 might be 1.0212x faster varargs-strict-mode 9.5154+-0.3310 ? 9.5833+-0.4743 ? varargs 9.2629+-0.2046 9.1849+-0.2049 weird-inlining-const-prop 2.1185+-0.3366 ? 2.2877+-0.3379 ? might be 1.0799x slower <geometric> 7.8418+-0.0398 7.8168+-0.0338 might be 1.0032x faster Conf#1 Conf#2 AsmBench: bigfib.cpp 460.4671+-3.2493 460.2708+-3.9588 cray.c 407.3941+-5.1841 ? 407.9569+-5.4259 ? dry.c 454.8254+-16.3602 439.9460+-16.9916 might be 1.0338x faster FloatMM.c 709.2321+-6.2498 ? 715.1607+-14.1414 ? gcc-loops.cpp 3642.7350+-32.3977 3633.0413+-14.9195 n-body.c 854.9380+-9.7455 850.7097+-9.1725 Quicksort.c 408.7087+-5.0788 405.8737+-3.1266 stepanov_container.cpp 3816.9313+-65.5215 3791.2543+-36.8649 Towers.c 279.5634+-80.0293 248.5742+-6.6240 might be 1.1247x faster <geometric> 755.7069+-24.1461 743.8971+-2.8090 might be 1.0159x faster Conf#1 Conf#2 CompressionBench: huffman 309.9468+-4.0988 309.8133+-5.6571 arithmetic-simple 354.8420+-4.4944 354.1629+-4.8568 arithmetic-precise 271.1820+-4.5854 ? 272.9160+-3.4857 ? arithmetic-complex-precise 274.1901+-3.0606 271.8753+-6.5757 arithmetic-precise-order-0 377.4504+-6.3252 ? 378.0103+-5.5649 ? arithmetic-precise-order-1 310.6452+-4.4770 307.9252+-2.4075 arithmetic-precise-order-2 349.4101+-4.6362 ? 356.5932+-9.8216 ? might be 1.0206x slower arithmetic-simple-order-1 344.8181+-6.1619 ? 346.9463+-6.3893 ? arithmetic-simple-order-2 407.5136+-5.6869 403.4607+-7.7063 might be 1.0100x faster lz-string 346.2848+-3.8796 ? 347.0602+-10.0842 ? <geometric> 332.0448+-1.6837 ? 332.2533+-1.3863 ? might be 1.0006x slower Conf#1 Conf#2 Geomean of preferred means: <scaled-result> 58.3029+-0.4526 58.1066+-0.3332 might be 1.0034x faster
Basile Clement
Comment 2 2015-04-17 10:29:13 PDT
Created attachment 251026 [details] Patch w/ ChangeLog
Geoffrey Garen
Comment 3 2015-04-17 11:12:54 PDT
Comment on attachment 251026 [details] Patch w/ ChangeLog 👍
WebKit Commit Bot
Comment 4 2015-04-17 11:51:54 PDT
Comment on attachment 251026 [details] Patch w/ ChangeLog Clearing flags on attachment: 251026 Committed r182959: <http://trac.webkit.org/changeset/182959>
WebKit Commit Bot
Comment 5 2015-04-17 11:51:58 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.