Summary: | DFG::ArgumentsEliminationPhase should emit a PutStack for all of the GetStacks that the ByteCodeParser emitted | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||
Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | barraclough, basile_clement, benjamin, ggaren, mark.lam, mhahnenb, mmirman, msaboff, nrotem, oliver, saam, sam | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 147434 | ||||||
Attachments: |
|
Description
Filip Pizlo
2015-07-29 20:46:51 PDT
Created attachment 257808 [details]
the patch
This could theoretically be a regression, but it's not. Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on shakezilla (MacBookPro11,3). VMs tested: "TipOfTree" at /Volumes/Data/tertiary/OpenSource/WebKitBuild/Release/jsc (r187574) "FixArguments" at /Volumes/Data/secondary/OpenSource/WebKitBuild/Release/jsc (r187574) 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 FixArguments SunSpider: 3d-cube 4.7010+-0.4267 4.4814+-0.2983 might be 1.0490x faster 3d-morph 5.2277+-0.1509 5.2090+-0.2813 3d-raytrace 5.1216+-0.0976 ? 5.2570+-0.4055 ? might be 1.0264x slower access-binary-trees 2.1137+-0.0844 ? 2.1360+-0.3143 ? might be 1.0106x slower access-fannkuch 5.4366+-0.4877 5.2094+-0.1068 might be 1.0436x faster access-nbody 2.4703+-0.1023 2.4391+-0.0566 might be 1.0128x faster access-nsieve 2.9664+-0.0565 ? 3.1128+-0.1479 ? might be 1.0493x slower bitops-3bit-bits-in-byte 1.4973+-0.0724 1.4856+-0.0614 bitops-bits-in-byte 3.2675+-0.0984 ? 3.2756+-0.1968 ? bitops-bitwise-and 2.0428+-0.0432 ? 2.1532+-0.2061 ? might be 1.0541x slower bitops-nsieve-bits 2.9021+-0.0631 ? 2.9153+-0.1063 ? controlflow-recursive 2.0024+-0.0262 ? 2.1491+-0.4273 ? might be 1.0732x slower crypto-aes 4.1713+-0.6711 3.8859+-0.1583 might be 1.0734x faster crypto-md5 2.4010+-0.0702 ? 2.4293+-0.1054 ? might be 1.0118x slower crypto-sha1 2.3355+-0.1617 ? 2.4642+-0.2716 ? might be 1.0551x slower date-format-tofte 7.0801+-0.8600 6.5642+-0.1656 might be 1.0786x faster date-format-xparb 4.4812+-0.0467 ? 4.7909+-0.4034 ? might be 1.0691x slower math-cordic 2.7491+-0.0585 ? 2.8236+-0.2754 ? might be 1.0271x slower math-partial-sums 5.1230+-0.0804 ? 5.2452+-0.3947 ? might be 1.0239x slower math-spectral-norm 1.7935+-0.0244 1.7897+-0.0617 regexp-dna 6.0774+-0.1631 ? 6.3186+-0.4449 ? might be 1.0397x slower string-base64 4.3147+-0.1375 ? 4.3650+-0.1012 ? might be 1.0117x slower string-fasta 5.8119+-0.3688 5.6733+-0.2760 might be 1.0244x faster string-tagcloud 8.1246+-0.1911 ? 8.1758+-0.4149 ? string-unpack-code 19.6440+-0.5949 ? 20.2030+-0.8059 ? might be 1.0285x slower string-validate-input 4.4917+-0.1340 4.3714+-0.0814 might be 1.0275x faster <arithmetic> 4.5519+-0.0570 ? 4.5740+-0.0580 ? might be 1.0049x slower TipOfTree FixArguments LongSpider: 3d-cube 776.6921+-9.6184 771.3202+-6.0752 3d-morph 1491.8083+-11.1344 1487.7351+-4.5482 3d-raytrace 620.3027+-3.9100 616.0993+-3.5401 access-binary-trees 814.5900+-10.6921 811.7272+-6.7850 access-fannkuch 272.0356+-2.6481 ? 273.9774+-3.4775 ? access-nbody 509.1554+-0.8811 508.6563+-0.1697 access-nsieve 371.0456+-14.6102 360.8899+-1.7714 might be 1.0281x faster bitops-3bit-bits-in-byte 40.4034+-0.7381 40.1352+-0.9961 bitops-bits-in-byte 79.5484+-3.7446 ? 81.0246+-3.0794 ? might be 1.0186x slower bitops-nsieve-bits 400.7110+-3.8185 ? 401.4231+-6.6404 ? controlflow-recursive 417.9858+-1.0120 417.5656+-2.7012 crypto-aes 584.0758+-2.1677 580.3173+-2.5949 crypto-md5 472.1136+-2.8546 ? 472.7395+-0.6612 ? crypto-sha1 624.6384+-6.7933 618.7925+-2.6898 date-format-tofte 500.2670+-6.8004 496.3054+-5.4098 date-format-xparb 630.8020+-6.5940 628.7740+-4.9702 hash-map 154.3709+-2.9407 153.9258+-2.3550 math-cordic 480.5468+-0.4347 ? 481.4691+-1.7018 ? math-partial-sums 461.6712+-0.4261 ? 463.9467+-2.3019 ? math-spectral-norm 544.8701+-1.0310 ? 545.4701+-1.4144 ? string-base64 347.0326+-4.2373 ? 348.7995+-5.5712 ? string-fasta 353.9197+-4.9712 ? 358.4985+-4.5080 ? might be 1.0129x slower string-tagcloud 174.7587+-0.7432 ? 175.0514+-1.2124 ? <geometric> 388.1269+-1.2842 387.6313+-0.5528 might be 1.0013x faster TipOfTree FixArguments V8Spider: crypto 51.0153+-2.6341 ? 51.2677+-1.1054 ? deltablue 84.2547+-10.5513 75.6485+-2.9324 might be 1.1138x faster earley-boyer 39.5817+-1.4779 ? 40.0565+-1.3058 ? might be 1.0120x slower raytrace 28.6883+-1.6030 28.2221+-0.9169 might be 1.0165x faster regexp 64.5675+-4.0341 63.6533+-1.5919 might be 1.0144x faster richards 67.2352+-2.2388 ? 67.5640+-1.4619 ? splay 35.0843+-2.6636 ? 36.0953+-2.5782 ? might be 1.0288x slower <geometric> 49.5694+-1.0373 49.0025+-0.8275 might be 1.0116x faster TipOfTree FixArguments Octane: encrypt 0.19149+-0.00071 ? 0.19256+-0.00120 ? decrypt 3.32353+-0.02610 3.31143+-0.00842 deltablue x2 0.15269+-0.00150 0.15065+-0.00168 might be 1.0136x faster earley 0.29944+-0.00372 ? 0.30193+-0.00447 ? boyer 4.16025+-0.12848 4.09381+-0.03482 might be 1.0162x faster navier-stokes x2 4.93502+-0.01156 ? 4.97871+-0.17785 ? raytrace x2 1.02076+-0.05378 ? 1.08580+-0.10788 ? might be 1.0637x slower richards x2 0.09893+-0.00107 0.09857+-0.00108 splay x2 0.33265+-0.00217 ? 0.33393+-0.00354 ? regexp x2 25.34245+-0.30148 25.02180+-0.48819 might be 1.0128x faster pdfjs x2 37.64710+-0.40952 37.53783+-0.76309 mandreel x2 43.69495+-0.28364 ? 44.34061+-1.14514 ? might be 1.0148x slower gbemu x2 35.12220+-2.10849 33.89640+-0.34658 might be 1.0362x faster closure 0.55651+-0.00361 0.55548+-0.00171 jquery 7.11076+-0.08001 7.06224+-0.03916 box2d x2 9.97944+-0.18414 9.94682+-0.04425 zlib x2 393.23451+-10.70403 382.47700+-15.93881 might be 1.0281x faster typescript x2 663.63900+-17.68070 662.64701+-28.11085 <geometric> 5.60742+-0.03164 5.59936+-0.03428 might be 1.0014x faster TipOfTree FixArguments Kraken: ai-astar 232.742+-7.594 ? 239.255+-9.517 ? might be 1.0280x slower audio-beat-detection 83.408+-0.423 ? 83.803+-0.531 ? audio-dft 97.994+-3.240 97.781+-2.946 audio-fft 55.147+-1.880 55.133+-0.812 audio-oscillator 62.722+-0.556 ^ 60.771+-0.914 ^ definitely 1.0321x faster imaging-darkroom 94.722+-1.322 ? 95.844+-1.189 ? might be 1.0118x slower imaging-desaturate 53.635+-2.314 ? 54.878+-0.513 ? might be 1.0232x slower imaging-gaussian-blur 84.421+-1.422 ? 84.668+-0.487 ? json-parse-financial 37.739+-0.183 37.441+-0.344 json-stringify-tinderbox 23.289+-1.055 22.502+-0.675 might be 1.0350x faster stanford-crypto-aes 43.086+-1.221 42.856+-2.029 stanford-crypto-ccm 39.810+-1.623 ? 40.176+-1.467 ? stanford-crypto-pbkdf2 94.758+-0.908 ? 95.484+-0.593 ? stanford-crypto-sha256-iterative 36.748+-1.176 ? 39.648+-9.989 ? might be 1.0789x slower <arithmetic> 74.301+-0.597 ? 75.017+-0.838 ? might be 1.0096x slower TipOfTree FixArguments JSRegress: abc-forward-loop-equal 29.7087+-0.7182 29.1058+-0.4734 might be 1.0207x faster abc-postfix-backward-loop 29.3628+-1.1699 ? 29.4869+-1.1051 ? abc-simple-backward-loop 28.6998+-0.3485 ? 29.4624+-0.6602 ? might be 1.0266x slower abc-simple-forward-loop 29.5825+-0.9314 29.0780+-0.7359 might be 1.0173x faster abc-skippy-loop 20.9486+-0.6589 ? 21.3110+-0.5243 ? might be 1.0173x slower abs-boolean 2.6385+-0.1288 ? 2.8880+-0.5285 ? might be 1.0945x slower adapt-to-double-divide 16.9365+-0.8382 15.9371+-0.3940 might be 1.0627x faster aliased-arguments-getbyval 1.1838+-0.1683 ? 1.2473+-0.2243 ? might be 1.0537x slower allocate-big-object 2.5065+-0.1709 ? 2.5932+-0.4435 ? might be 1.0346x slower arguments-named-and-reflective 10.7548+-0.1747 ? 10.8489+-0.3446 ? arguments-out-of-bounds 10.1894+-0.8855 ? 10.2454+-1.2255 ? arguments-strict-mode 9.6811+-0.4615 ? 9.8622+-0.2326 ? might be 1.0187x slower arguments 9.0796+-0.9823 8.3862+-0.1625 might be 1.0827x faster arity-mismatch-inlining 0.8252+-0.0440 ? 0.9814+-0.2833 ? might be 1.1893x slower array-access-polymorphic-structure 6.3806+-0.5761 6.0249+-0.1491 might be 1.0590x faster array-nonarray-polymorhpic-access 25.5895+-1.0196 24.5474+-0.6953 might be 1.0425x faster array-prototype-every 75.6674+-1.2841 74.9637+-1.0232 array-prototype-forEach 74.5682+-1.9696 73.5743+-0.8437 might be 1.0135x faster array-prototype-map 84.2350+-1.1578 82.7975+-1.8196 might be 1.0174x faster array-prototype-reduce 72.2132+-0.9778 71.5990+-0.9821 array-prototype-reduceRight 72.3549+-1.9036 ? 73.7129+-5.7156 ? might be 1.0188x slower array-prototype-some 75.6333+-1.3668 74.8325+-1.8602 might be 1.0107x faster array-splice-contiguous 21.5353+-0.5448 ^ 20.3638+-0.6083 ^ definitely 1.0575x faster array-with-double-add 3.4660+-0.2643 3.3639+-0.1322 might be 1.0304x faster array-with-double-increment 2.9930+-0.0461 ? 3.0144+-0.0975 ? array-with-double-mul-add 4.3285+-0.2777 4.0943+-0.0980 might be 1.0572x faster array-with-double-sum 3.1616+-0.0863 ? 3.2427+-0.3977 ? might be 1.0256x slower array-with-int32-add-sub 5.8256+-0.2322 ? 5.8328+-0.1457 ? array-with-int32-or-double-sum 3.1936+-0.1072 3.1836+-0.0559 ArrayBuffer-DataView-alloc-large-long-lived 29.6049+-0.8399 ? 29.8387+-0.9707 ? ArrayBuffer-DataView-alloc-long-lived 13.4358+-1.1999 13.0518+-0.8099 might be 1.0294x faster ArrayBuffer-Int32Array-byteOffset 3.4859+-0.0534 ? 3.5280+-0.0397 ? might be 1.0121x slower ArrayBuffer-Int8Array-alloc-large-long-lived 31.7163+-1.2891 ? 32.1191+-1.4940 ? might be 1.0127x slower ArrayBuffer-Int8Array-alloc-long-lived-buffer 21.1532+-1.9505 20.1739+-0.4322 might be 1.0485x faster ArrayBuffer-Int8Array-alloc-long-lived 14.3355+-2.7075 13.0982+-0.8261 might be 1.0945x faster ArrayBuffer-Int8Array-alloc 9.6305+-0.7883 ? 10.1924+-1.2826 ? might be 1.0583x slower asmjs_bool_bug 7.6799+-0.3589 7.2941+-0.0933 might be 1.0529x faster assign-custom-setter-polymorphic 2.5430+-0.0332 2.5071+-0.1190 might be 1.0143x faster assign-custom-setter 3.4220+-0.1545 3.3717+-0.1057 might be 1.0149x faster basic-set 7.6622+-0.2088 ? 7.8449+-0.4000 ? might be 1.0238x slower big-int-mul 3.5040+-0.3135 3.4219+-0.0779 might be 1.0240x faster boolean-test 2.8123+-0.0344 ? 2.8895+-0.1368 ? might be 1.0275x slower branch-fold 3.5496+-0.0371 3.5321+-0.0248 branch-on-string-as-boolean 16.5458+-0.7214 16.2086+-0.5160 might be 1.0208x faster by-val-generic 7.3910+-0.6577 7.2485+-0.5157 might be 1.0197x faster call-spread-apply 27.0214+-1.5864 26.4405+-1.1878 might be 1.0220x faster call-spread-call 20.3468+-0.4546 ! 22.8395+-1.1656 ! definitely 1.1225x slower captured-assignments 0.4072+-0.0330 0.3883+-0.0160 might be 1.0486x faster cast-int-to-double 5.0841+-0.1191 4.9757+-0.0306 might be 1.0218x faster cell-argument 6.3721+-0.5582 ? 6.4963+-0.6872 ? might be 1.0195x slower cfg-simplify 2.6740+-0.0248 ? 2.7530+-0.0589 ? might be 1.0295x slower chain-getter-access 8.0256+-0.2971 ? 8.1191+-0.3255 ? might be 1.0117x slower cmpeq-obj-to-obj-other 11.3849+-1.1029 ? 11.9716+-0.4044 ? might be 1.0515x slower constant-test 4.9884+-0.6115 4.7274+-0.0616 might be 1.0552x faster create-lots-of-functions 8.9725+-0.1549 ? 9.4942+-0.6226 ? might be 1.0581x slower cse-new-array-buffer 2.2208+-0.1436 ? 2.2698+-0.1071 ? might be 1.0221x slower cse-new-array 2.3174+-0.0751 2.3081+-0.1495 DataView-custom-properties 35.4025+-1.7387 35.2804+-1.5716 delay-tear-off-arguments-strictmode 13.0732+-3.0657 12.8787+-1.3578 might be 1.0151x faster deltablue-varargs 149.9764+-2.9696 149.2508+-0.6432 destructuring-arguments 163.5187+-3.2911 159.7962+-1.6571 might be 1.0233x faster destructuring-parameters-overridden-by-function 0.5188+-0.0296 0.4902+-0.0225 might be 1.0583x faster destructuring-swap 4.6187+-0.0935 ? 4.6960+-0.1864 ? might be 1.0167x slower direct-arguments-getbyval 1.1681+-0.0929 ? 1.2325+-0.2830 ? might be 1.0551x slower div-boolean-double 5.2730+-0.0347 ? 5.3421+-0.1446 ? might be 1.0131x slower div-boolean 8.1910+-0.3385 ? 8.3259+-0.2820 ? might be 1.0165x slower double-get-by-val-out-of-bounds 4.2023+-0.2422 ? 4.2061+-0.1591 ? double-pollution-getbyval 8.6958+-0.3773 ? 8.7330+-0.3084 ? double-pollution-putbyoffset 3.8405+-0.0823 3.7270+-0.1450 might be 1.0304x faster double-real-use 26.7465+-1.2968 25.8683+-2.6443 might be 1.0339x faster double-to-int32-typed-array-no-inline 2.0947+-0.0581 2.0349+-0.0422 might be 1.0294x faster double-to-int32-typed-array 1.8661+-0.2296 1.7254+-0.0605 might be 1.0816x faster double-to-uint32-typed-array-no-inline 2.0581+-0.0812 ? 2.0906+-0.0574 ? might be 1.0158x slower double-to-uint32-typed-array 1.8185+-0.0724 ? 1.8430+-0.0682 ? might be 1.0134x slower elidable-new-object-dag 34.5908+-1.4162 34.2881+-1.1906 elidable-new-object-roflcopter 33.6882+-1.3301 ? 34.2599+-2.4213 ? might be 1.0170x slower elidable-new-object-then-call 30.9144+-0.3378 30.8062+-0.7766 elidable-new-object-tree 36.0020+-0.6659 ? 36.4569+-1.3351 ? might be 1.0126x slower empty-string-plus-int 4.5590+-0.1046 ? 4.8957+-0.8894 ? might be 1.0739x slower emscripten-cube2hash 31.9159+-13.9959 26.0400+-1.3087 might be 1.2256x faster exit-length-on-plain-object 13.5055+-1.5522 13.4373+-0.6338 external-arguments-getbyval 1.1980+-0.0734 ? 1.2271+-0.1227 ? might be 1.0243x slower external-arguments-putbyval 2.2003+-0.1125 ? 2.2171+-0.0442 ? fixed-typed-array-storage-var-index 1.1415+-0.0419 1.1342+-0.0316 fixed-typed-array-storage 0.8531+-0.0303 ? 0.8851+-0.0393 ? might be 1.0376x slower Float32Array-matrix-mult 3.8194+-0.0304 ? 4.0868+-0.4101 ? might be 1.0700x slower Float32Array-to-Float64Array-set 45.9558+-0.5941 ? 47.2681+-1.3576 ? might be 1.0286x slower Float64Array-alloc-long-lived 76.3004+-2.1005 75.0228+-1.9317 might be 1.0170x faster Float64Array-to-Int16Array-set 56.8357+-1.6589 ? 58.4244+-1.1106 ? might be 1.0280x slower fold-double-to-int 12.5818+-0.2045 ? 12.7843+-0.2442 ? might be 1.0161x slower fold-get-by-id-to-multi-get-by-offset-rare-int 10.2930+-0.5622 ? 10.5539+-0.3560 ? might be 1.0254x slower fold-get-by-id-to-multi-get-by-offset 8.7791+-0.3888 ? 9.0739+-0.8044 ? might be 1.0336x slower fold-multi-get-by-offset-to-get-by-offset 8.4251+-0.3874 7.7386+-1.2113 might be 1.0887x faster fold-multi-get-by-offset-to-poly-get-by-offset 7.9478+-0.4111 7.8253+-0.4254 might be 1.0157x faster fold-multi-put-by-offset-to-poly-put-by-offset 7.7558+-0.6533 7.2279+-0.9221 might be 1.0730x faster fold-multi-put-by-offset-to-put-by-offset 5.3327+-0.7096 5.1309+-0.7624 might be 1.0393x faster fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 8.1453+-0.3171 ? 8.3717+-0.5118 ? might be 1.0278x slower fold-put-by-id-to-multi-put-by-offset 8.6275+-0.5792 ? 9.0095+-0.5837 ? might be 1.0443x slower fold-put-structure 5.2469+-0.8767 ? 5.4234+-0.8165 ? might be 1.0336x slower for-of-iterate-array-entries 11.0767+-0.3158 11.0704+-0.4789 for-of-iterate-array-keys 3.5715+-0.2534 3.3563+-0.1525 might be 1.0641x faster for-of-iterate-array-values 3.4497+-0.3280 ? 3.4967+-0.2839 ? might be 1.0136x slower fround 18.6599+-0.4907 ? 19.3019+-0.9685 ? might be 1.0344x slower ftl-library-inlining-dataview 57.4417+-1.2126 55.9480+-0.5199 might be 1.0267x faster ftl-library-inlining 108.1758+-3.0487 106.9119+-0.5839 might be 1.0118x faster function-dot-apply 1.9917+-0.0298 1.9698+-0.0534 might be 1.0111x faster function-test 2.6949+-0.0767 ? 2.7980+-0.2050 ? might be 1.0382x slower function-with-eval 90.9104+-0.5537 ? 90.9151+-2.0192 ? gcse-poly-get-less-obvious 13.9947+-0.1166 ? 14.0779+-0.3812 ? gcse-poly-get 14.6552+-0.7691 14.6504+-0.7805 gcse 3.7475+-0.0641 ? 3.9455+-0.4002 ? might be 1.0528x slower get-by-id-bimorphic-check-structure-elimination-simple 2.7837+-0.6271 2.6086+-0.2563 might be 1.0671x faster get-by-id-bimorphic-check-structure-elimination 5.7993+-0.3082 5.6040+-0.0796 might be 1.0348x faster get-by-id-chain-from-try-block 5.5528+-0.4232 5.5284+-0.3228 get-by-id-check-structure-elimination 4.3136+-0.1171 4.2813+-0.0214 get-by-id-proto-or-self 14.5460+-1.1876 ? 14.8327+-1.2995 ? might be 1.0197x slower get-by-id-quadmorphic-check-structure-elimination-simple 3.0567+-0.1142 3.0209+-0.0547 might be 1.0119x faster get-by-id-self-or-proto 14.8810+-1.0215 ? 15.3802+-1.2610 ? might be 1.0336x slower get-by-val-out-of-bounds 3.9988+-0.1547 3.9928+-0.0899 get_callee_monomorphic 2.6216+-0.8601 2.5658+-0.5688 might be 1.0217x faster get_callee_polymorphic 3.2271+-0.2236 ? 3.3311+-0.3975 ? might be 1.0322x slower getter-no-activation 4.7971+-0.1038 4.7936+-0.1406 getter-prototype 9.6741+-0.0661 9.6012+-0.1700 getter-richards 122.3463+-3.0212 ? 123.2905+-4.8778 ? getter 5.4231+-0.1831 5.2615+-0.3671 might be 1.0307x faster global-var-const-infer-fire-from-opt 0.9074+-0.1237 ? 0.9094+-0.0316 ? global-var-const-infer 0.7787+-0.1064 0.7290+-0.0747 might be 1.0682x faster HashMap-put-get-iterate-keys 26.9036+-2.4666 25.2405+-0.5491 might be 1.0659x faster HashMap-put-get-iterate 26.0706+-1.6798 ? 26.5217+-1.5194 ? might be 1.0173x slower HashMap-string-put-get-iterate 23.9644+-1.3856 ? 24.6728+-0.7969 ? might be 1.0296x slower hoist-make-rope 8.6466+-2.0691 7.9860+-0.5085 might be 1.0827x faster hoist-poly-check-structure-effectful-loop 4.2696+-0.1330 ? 4.2945+-0.1794 ? hoist-poly-check-structure 3.2115+-0.0414 3.2104+-0.0394 imul-double-only 6.9454+-0.3151 ? 7.5367+-0.9707 ? might be 1.0851x slower imul-int-only 9.6052+-0.7229 8.6705+-0.7682 might be 1.1078x faster imul-mixed 6.5059+-0.2719 ? 7.0554+-0.5493 ? might be 1.0845x slower in-four-cases 17.1980+-0.5900 17.1108+-0.3180 in-one-case-false 9.2378+-0.2020 ? 9.5920+-0.5495 ? might be 1.0383x slower in-one-case-true 9.3166+-0.3481 ? 9.3955+-0.5524 ? in-two-cases 9.4136+-0.1244 9.2985+-0.1182 might be 1.0124x faster indexed-properties-in-objects 2.8410+-0.0781 ? 2.9353+-0.4532 ? might be 1.0332x slower infer-closure-const-then-mov-no-inline 3.1618+-0.1977 ? 3.1762+-0.1445 ? infer-closure-const-then-mov 17.5612+-0.4980 17.2535+-0.3721 might be 1.0178x faster infer-closure-const-then-put-to-scope-no-inline 10.4930+-0.2581 ? 10.9076+-0.7355 ? might be 1.0395x slower infer-closure-const-then-put-to-scope 21.1184+-0.6233 21.0830+-0.6207 infer-closure-const-then-reenter-no-inline 50.1606+-1.2312 ? 50.7266+-1.1435 ? might be 1.0113x slower infer-closure-const-then-reenter 21.6685+-0.6002 21.3019+-0.5991 might be 1.0172x faster infer-constant-global-property 3.3726+-0.0738 ? 3.5016+-0.3059 ? might be 1.0382x slower infer-constant-property 2.5879+-0.0680 ? 2.6002+-0.0814 ? infer-one-time-closure-ten-vars 8.3044+-0.1785 ? 8.3826+-0.2319 ? infer-one-time-closure-two-vars 8.2138+-0.6507 7.9294+-0.5497 might be 1.0359x faster infer-one-time-closure 7.5867+-0.1169 ? 8.2011+-0.7902 ? might be 1.0810x slower infer-one-time-deep-closure 12.4618+-0.3508 ? 12.6062+-0.2638 ? might be 1.0116x slower inline-arguments-access 3.6296+-0.2138 ? 3.7234+-0.2910 ? might be 1.0259x slower inline-arguments-aliased-access 3.7677+-0.4585 3.5732+-0.1335 might be 1.0544x faster inline-arguments-local-escape 3.6157+-0.1362 ? 3.9360+-0.4817 ? might be 1.0886x slower inline-get-scoped-var 4.5003+-0.0804 ? 4.5907+-0.1181 ? might be 1.0201x slower inlined-put-by-id-transition 10.5422+-0.4141 ? 10.5488+-0.5548 ? int-or-other-abs-then-get-by-val 4.6808+-0.0556 ? 4.7321+-0.0188 ? might be 1.0110x slower int-or-other-abs-zero-then-get-by-val 16.3264+-0.4121 ? 16.4489+-0.9067 ? int-or-other-add-then-get-by-val 4.0106+-0.1557 ? 4.0617+-0.1670 ? might be 1.0127x slower int-or-other-add 5.0457+-0.5943 4.7923+-0.0677 might be 1.0529x faster int-or-other-div-then-get-by-val 3.6679+-0.1146 ? 3.6946+-0.1878 ? int-or-other-max-then-get-by-val 4.0708+-0.1503 4.0135+-0.0568 might be 1.0143x faster int-or-other-min-then-get-by-val 4.1650+-0.0355 ? 4.1880+-0.0428 ? int-or-other-mod-then-get-by-val 3.4038+-0.0341 ? 3.4604+-0.1413 ? might be 1.0166x slower int-or-other-mul-then-get-by-val 3.5711+-0.0734 3.5536+-0.0460 int-or-other-neg-then-get-by-val 4.5151+-0.1969 4.4043+-0.0379 might be 1.0252x faster int-or-other-neg-zero-then-get-by-val 15.8495+-0.1917 ? 16.2463+-1.1919 ? might be 1.0250x slower int-or-other-sub-then-get-by-val 4.0842+-0.1286 3.9874+-0.0777 might be 1.0243x faster int-or-other-sub 3.5232+-0.3714 3.3308+-0.0632 might be 1.0577x faster int-overflow-local 4.2768+-0.0263 4.2406+-0.1319 Int16Array-alloc-long-lived 51.2503+-8.6532 49.0780+-1.1434 might be 1.0443x faster Int16Array-bubble-sort-with-byteLength 19.2660+-1.0282 18.7196+-0.3871 might be 1.0292x faster Int16Array-bubble-sort 19.1557+-0.4236 18.7719+-0.3045 might be 1.0204x faster Int16Array-load-int-mul 1.4975+-0.1880 1.3842+-0.0169 might be 1.0819x faster Int16Array-to-Int32Array-set 44.3891+-1.0074 43.2289+-1.2727 might be 1.0268x faster Int32Array-alloc-large 12.8733+-0.8368 12.5588+-1.0825 might be 1.0250x faster Int32Array-alloc-long-lived 59.6112+-1.3454 ^ 56.1466+-1.0542 ^ definitely 1.0617x faster Int32Array-alloc 2.8723+-0.2037 ? 3.0385+-0.2082 ? might be 1.0578x slower Int32Array-Int8Array-view-alloc 6.2190+-0.3918 6.0153+-0.2290 might be 1.0339x faster int52-spill 4.8763+-0.7825 4.6735+-0.2218 might be 1.0434x faster Int8Array-alloc-long-lived 43.6636+-2.5907 42.3926+-0.7373 might be 1.0300x faster Int8Array-load-with-byteLength 3.3512+-0.1014 ? 3.4268+-0.2715 ? might be 1.0225x slower Int8Array-load 3.3512+-0.0550 3.2915+-0.0177 might be 1.0181x faster integer-divide 10.4280+-0.2766 10.3573+-0.3566 integer-modulo 1.6034+-0.0539 ? 1.6965+-0.1349 ? might be 1.0581x slower is-boolean-fold-tricky 3.7322+-0.1265 3.7159+-0.1127 is-boolean-fold 2.6455+-0.1231 2.6025+-0.0313 might be 1.0165x faster is-function-fold-tricky-internal-function 10.4347+-1.1356 10.1148+-0.4286 might be 1.0316x faster is-function-fold-tricky 4.1510+-0.2279 3.9908+-0.0297 might be 1.0402x faster is-function-fold 2.6377+-0.0546 ? 2.6542+-0.1027 ? is-number-fold-tricky 4.1186+-0.4125 3.9772+-0.0846 might be 1.0356x faster is-number-fold 2.5861+-0.0443 ? 2.6257+-0.2062 ? might be 1.0153x slower is-object-or-null-fold-functions 2.6357+-0.0808 ? 2.6531+-0.0731 ? is-object-or-null-fold-less-tricky 4.0660+-0.0977 4.0179+-0.0437 might be 1.0120x faster is-object-or-null-fold-tricky 5.0679+-0.1874 ? 5.2991+-0.1351 ? might be 1.0456x slower is-object-or-null-fold 2.7171+-0.2104 2.6652+-0.1568 might be 1.0195x faster is-object-or-null-trickier-function 4.0757+-0.2136 4.0726+-0.0544 is-object-or-null-trickier-internal-function 10.2196+-0.0671 ? 10.2923+-0.2977 ? is-object-or-null-tricky-function 4.0376+-0.0825 ? 4.1359+-0.3209 ? might be 1.0243x slower is-object-or-null-tricky-internal-function 7.9084+-0.2359 7.8897+-0.0945 is-string-fold-tricky 4.0813+-0.3110 3.9575+-0.0507 might be 1.0313x faster is-string-fold 2.6128+-0.0639 2.5789+-0.0495 might be 1.0132x faster is-undefined-fold-tricky 3.2549+-0.0130 ? 3.2585+-0.0722 ? is-undefined-fold 2.5490+-0.0284 ? 2.5570+-0.0275 ? large-int-captured 3.7687+-0.1070 ? 3.9777+-0.2551 ? might be 1.0555x slower large-int-neg 13.9014+-0.5057 ? 13.9451+-0.5392 ? large-int 13.3271+-0.1917 13.2307+-0.3330 load-varargs-elimination 21.6114+-0.4972 ? 21.8825+-1.1684 ? might be 1.0125x slower logical-not-weird-types 2.8350+-0.0638 ? 2.8844+-0.0652 ? might be 1.0174x slower logical-not 4.1071+-0.0885 ? 4.4098+-0.8462 ? might be 1.0737x slower lots-of-fields 9.7264+-0.4484 ? 10.1078+-0.7346 ? might be 1.0392x slower make-indexed-storage 2.9614+-0.1144 2.9019+-0.3709 might be 1.0205x faster make-rope-cse 3.5482+-0.0794 ? 3.6549+-0.2554 ? might be 1.0301x slower marsaglia-larger-ints 33.2672+-1.9926 ? 33.6495+-1.7605 ? might be 1.0115x slower marsaglia-osr-entry 20.4699+-0.6368 ? 20.7410+-0.4209 ? might be 1.0132x slower math-with-out-of-bounds-array-values 21.7961+-0.8621 21.2048+-0.5494 might be 1.0279x faster max-boolean 2.3948+-0.0331 ? 2.4188+-0.0583 ? might be 1.0100x slower method-on-number 15.4924+-0.2374 ? 15.8607+-0.9747 ? might be 1.0238x slower min-boolean 2.5167+-0.1651 2.4397+-0.0458 might be 1.0316x faster minus-boolean-double 3.0116+-0.0391 ? 3.0605+-0.0823 ? might be 1.0162x slower minus-boolean 2.2630+-0.0087 ? 2.3295+-0.0891 ? might be 1.0294x slower misc-strict-eq 31.1443+-1.6330 ? 31.3869+-2.8123 ? mod-boolean-double 11.1900+-0.3066 11.1380+-0.3273 mod-boolean 8.3415+-0.2731 ? 8.3430+-0.2808 ? mul-boolean-double 3.6948+-0.4474 3.5724+-0.0704 might be 1.0343x faster mul-boolean 2.8226+-0.2512 2.7386+-0.0970 might be 1.0306x faster neg-boolean 3.1446+-0.2720 3.0562+-0.0703 might be 1.0289x faster negative-zero-divide 0.3581+-0.0839 0.3260+-0.0113 might be 1.0984x faster negative-zero-modulo 0.3161+-0.0140 ? 0.3249+-0.0055 ? might be 1.0278x slower negative-zero-negate 0.4005+-0.2205 0.3027+-0.0234 might be 1.3232x faster nested-function-parsing 44.4925+-0.9214 ? 44.5702+-0.8277 ? new-array-buffer-dead 88.0070+-1.4786 ? 88.5495+-1.3595 ? new-array-buffer-push 6.4767+-0.9748 5.8685+-0.1127 might be 1.1036x faster new-array-dead 15.5901+-1.4227 14.5540+-0.7729 might be 1.0712x faster new-array-push 6.2341+-0.4023 ? 6.3251+-0.1925 ? might be 1.0146x slower no-inline-constructor 31.7057+-1.3803 30.8189+-0.6273 might be 1.0288x faster number-test 2.9064+-0.2967 2.8444+-0.0765 might be 1.0218x faster object-closure-call 4.8964+-0.1738 ? 4.9536+-0.1371 ? might be 1.0117x slower object-get-own-property-symbols-on-large-array 4.0402+-0.2178 ? 4.3875+-0.4926 ? might be 1.0860x slower object-test 2.7687+-0.4498 2.5859+-0.0294 might be 1.0707x faster obvious-sink-pathology-taken 98.6837+-0.6510 ? 99.0963+-1.2226 ? obvious-sink-pathology 94.7308+-1.3962 ? 94.8207+-0.5063 ? obviously-elidable-new-object 28.1588+-2.6038 28.0127+-2.1689 plus-boolean-arith 2.3678+-0.0750 ? 2.4099+-0.0504 ? might be 1.0178x slower plus-boolean-double 3.0463+-0.0348 3.0059+-0.0426 might be 1.0135x faster plus-boolean 2.5448+-0.0628 ? 2.5778+-0.0983 ? might be 1.0130x slower poly-chain-access-different-prototypes-simple 2.6755+-0.0489 ? 2.7028+-0.0551 ? might be 1.0102x slower poly-chain-access-different-prototypes 2.4978+-0.0629 2.4845+-0.0267 poly-chain-access-simpler 2.7169+-0.1557 ? 2.7563+-0.1361 ? might be 1.0145x slower poly-chain-access 2.4439+-0.0230 ? 2.4642+-0.0708 ? poly-stricteq 50.1281+-0.7738 49.8966+-0.7047 polymorphic-array-call 1.2262+-0.0741 ? 1.2438+-0.0788 ? might be 1.0143x slower polymorphic-get-by-id 2.8932+-0.0842 2.8155+-0.0415 might be 1.0276x faster polymorphic-put-by-id 24.5063+-0.8405 ? 25.1983+-0.8384 ? might be 1.0282x slower polymorphic-structure 13.2455+-0.4062 12.9648+-0.0450 might be 1.0216x faster polyvariant-monomorphic-get-by-id 6.6508+-0.5904 6.2895+-0.4911 might be 1.0574x faster proto-getter-access 8.0860+-0.2259 8.0269+-0.1523 put-by-id-replace-and-transition 8.0857+-0.5762 7.9629+-0.9627 might be 1.0154x faster put-by-id-slightly-polymorphic 2.7766+-0.0782 2.7349+-0.0241 might be 1.0153x faster put-by-id 9.9388+-0.6374 ? 9.9738+-0.7494 ? put-by-val-direct 0.3105+-0.0115 ? 0.3635+-0.0830 ? might be 1.1705x slower put-by-val-large-index-blank-indexing-type 11.8694+-0.6256 11.6779+-0.4655 might be 1.0164x faster put-by-val-machine-int 2.4141+-0.1265 ? 2.4650+-0.1111 ? might be 1.0211x slower rare-osr-exit-on-local 14.5229+-0.4156 14.2567+-0.1986 might be 1.0187x faster register-pressure-from-osr 16.2419+-0.5579 16.1403+-0.2205 repeat-multi-get-by-offset 22.9311+-6.5259 20.6283+-1.1983 might be 1.1116x faster setter-prototype 7.5699+-0.3210 7.5035+-0.0871 setter 5.6071+-0.3700 5.4455+-0.6705 might be 1.0297x faster simple-activation-demo 24.2675+-0.3347 ? 24.7192+-0.6754 ? might be 1.0186x slower simple-getter-access 10.3222+-0.3194 ? 10.5614+-0.4422 ? might be 1.0232x slower simple-overflow-elimination 18.1696+-1.1723 17.8712+-0.7953 might be 1.0167x faster simple-poly-call-nested 8.3789+-0.1901 ? 8.6956+-0.5871 ? might be 1.0378x slower simple-poly-call 1.2261+-0.0325 ? 1.3496+-0.1764 ? might be 1.1007x slower sin-boolean 19.0706+-1.7101 18.2181+-1.2121 might be 1.0468x faster singleton-scope 54.6629+-0.8890 ? 55.3821+-0.5423 ? might be 1.0132x slower sink-function 9.4944+-0.5794 9.4445+-0.6264 sink-huge-activation 16.0570+-0.4736 ? 16.3044+-0.6387 ? might be 1.0154x slower sinkable-new-object-dag 56.6399+-3.0566 55.2991+-1.7036 might be 1.0242x faster sinkable-new-object-taken 45.9088+-11.3649 43.7761+-3.3150 might be 1.0487x faster sinkable-new-object 29.5852+-1.3441 ? 30.2838+-1.2566 ? might be 1.0236x slower slow-array-profile-convergence 2.4532+-0.0761 ? 2.4838+-0.1565 ? might be 1.0125x slower slow-convergence 2.3541+-0.1038 2.3537+-0.0475 slow-ternaries 17.2269+-0.3726 ? 18.0969+-0.7387 ? might be 1.0505x slower sorting-benchmark 17.0498+-0.9716 ? 17.0608+-0.8011 ? sparse-conditional 1.1375+-0.0874 ? 1.1600+-0.1167 ? might be 1.0198x slower splice-to-remove 12.9846+-1.5204 11.9736+-0.2243 might be 1.0844x faster string-char-code-at 14.3606+-0.7142 ? 14.4662+-0.8853 ? string-concat-object 2.2166+-0.0770 ? 2.4333+-0.5197 ? might be 1.0977x slower string-concat-pair-object 2.1617+-0.2417 2.0380+-0.1322 might be 1.0607x faster string-concat-pair-simple 9.3958+-0.6338 9.3282+-0.4658 string-concat-simple 9.1179+-0.5986 ? 9.4707+-1.2754 ? might be 1.0387x slower string-cons-repeat 6.4654+-0.3502 ? 7.2699+-2.4462 ? might be 1.1244x slower string-cons-tower 7.0721+-1.2781 6.8032+-0.5712 might be 1.0395x faster string-equality 14.9621+-0.3646 14.9264+-0.3128 string-get-by-val-big-char 6.4692+-0.1614 ? 6.6650+-0.7735 ? might be 1.0303x slower string-get-by-val-out-of-bounds-insane 3.2288+-0.0411 ? 3.3632+-0.3074 ? might be 1.0416x slower string-get-by-val-out-of-bounds 4.0001+-0.0782 ? 4.1580+-0.2672 ? might be 1.0395x slower string-get-by-val 2.7948+-0.0970 2.7756+-0.0284 string-hash 1.9657+-0.1924 1.8713+-0.0071 might be 1.0504x faster string-long-ident-equality 12.4623+-0.1974 ? 12.6849+-0.4906 ? might be 1.0179x slower string-out-of-bounds 10.1368+-0.2077 ? 10.4786+-0.4270 ? might be 1.0337x slower string-repeat-arith 26.7947+-0.4875 ? 27.8263+-0.8921 ? might be 1.0385x slower string-sub 54.0154+-3.4458 ? 54.5264+-1.6107 ? string-test 2.8105+-0.2448 2.7154+-0.0948 might be 1.0350x faster string-var-equality 25.9011+-1.2231 25.8263+-0.4795 structure-hoist-over-transitions 2.5045+-0.2837 2.3808+-0.0795 might be 1.0520x faster substring-concat-weird 36.2114+-1.1506 ? 38.0812+-6.2106 ? might be 1.0516x slower substring-concat 40.9380+-2.0283 40.1535+-1.7874 might be 1.0195x faster substring 44.0672+-1.2349 ? 44.1003+-1.3471 ? switch-char-constant 2.6827+-0.0518 2.6193+-0.0497 might be 1.0242x faster switch-char 5.7626+-0.5668 5.6498+-0.6848 might be 1.0200x faster switch-constant 8.3916+-0.5839 ? 9.3425+-0.6001 ? might be 1.1133x slower switch-string-basic-big-var 15.7736+-1.1550 15.5082+-0.5096 might be 1.0171x faster switch-string-basic-big 14.8953+-0.3619 14.8426+-0.1858 switch-string-basic-var 13.2093+-0.2000 ? 13.8535+-0.8934 ? might be 1.0488x slower switch-string-basic 12.9609+-0.7371 ? 12.9671+-0.3546 ? switch-string-big-length-tower-var 18.0328+-1.1251 17.2847+-0.1869 might be 1.0433x faster switch-string-length-tower-var 13.0299+-0.6623 12.9490+-0.2711 switch-string-length-tower 11.6407+-0.2625 ? 11.6550+-0.3119 ? switch-string-short 11.5927+-0.1314 ? 11.8975+-0.4287 ? might be 1.0263x slower switch 13.1782+-1.2798 12.7296+-1.5731 might be 1.0352x faster tear-off-arguments-simple 2.9708+-0.1082 ? 3.0725+-0.3446 ? might be 1.0342x slower tear-off-arguments 3.9869+-0.1952 ? 4.0946+-0.5691 ? might be 1.0270x slower temporal-structure 12.8685+-0.2534 ? 13.2090+-0.4591 ? might be 1.0265x slower to-int32-boolean 13.1418+-0.3310 12.8767+-0.0726 might be 1.0206x faster try-catch-get-by-val-cloned-arguments 14.2893+-1.0334 ? 14.5112+-0.7656 ? might be 1.0155x slower try-catch-get-by-val-direct-arguments 6.4133+-0.3210 ? 7.1783+-1.5576 ? might be 1.1193x slower try-catch-get-by-val-scoped-arguments 7.5043+-0.2041 ? 7.9721+-0.9439 ? might be 1.0623x slower typed-array-get-set-by-val-profiling 27.6608+-0.5063 27.5710+-1.3952 undefined-property-access 230.3969+-3.0536 ? 232.8011+-10.9893 ? might be 1.0104x slower undefined-test 2.8398+-0.1047 ? 2.8477+-0.1261 ? unprofiled-licm 13.7201+-0.2526 ? 13.9787+-0.7495 ? might be 1.0188x slower varargs-call 14.2452+-0.3859 13.9184+-0.2503 might be 1.0235x faster varargs-construct-inline 22.7967+-1.3233 21.8451+-0.5824 might be 1.0436x faster varargs-construct 20.1053+-0.6515 ? 20.1420+-0.4356 ? varargs-inline 8.7729+-0.5657 8.6355+-0.6016 might be 1.0159x faster varargs-strict-mode 9.2339+-0.5502 9.0269+-0.4257 might be 1.0229x faster varargs 8.8099+-0.0632 ? 9.1005+-0.5221 ? might be 1.0330x slower weird-inlining-const-prop 2.7171+-0.0830 ? 2.8826+-0.3299 ? might be 1.0609x slower <geometric> 7.8280+-0.0174 7.8236+-0.0233 might be 1.0006x faster TipOfTree FixArguments AsmBench: bigfib.cpp 450.4335+-3.3293 ? 453.2744+-3.1850 ? cray.c 395.9462+-3.5515 ? 423.9152+-69.0051 ? might be 1.0706x slower dry.c 429.8786+-1.9806 ? 444.7535+-78.2411 ? might be 1.0346x slower FloatMM.c 680.0541+-1.9247 ? 681.0485+-2.9354 ? gcc-loops.cpp 3430.4170+-34.8822 3420.6209+-20.3110 n-body.c 820.3732+-1.5931 ? 821.4724+-3.3561 ? Quicksort.c 402.8390+-3.2953 ? 403.1043+-3.4246 ? stepanov_container.cpp 3539.6003+-19.3750 ? 3541.2036+-25.5900 ? Towers.c 257.7080+-65.7123 232.5013+-2.1895 might be 1.1084x faster <geometric> 721.4547+-17.7067 ? 722.0111+-13.7425 ? might be 1.0008x slower TipOfTree FixArguments CompressionBench: huffman 59.1470+-1.2497 ? 59.6040+-0.8063 ? arithmetic-simple 265.4021+-1.1521 ? 267.5835+-1.8086 ? arithmetic-precise 242.2383+-1.0583 ? 243.6343+-1.6146 ? arithmetic-complex-precise 246.1506+-2.9749 ? 246.8631+-5.9201 ? arithmetic-precise-order-0 275.2866+-1.9443 ? 276.8551+-1.0710 ? arithmetic-precise-order-1 307.1308+-7.4902 304.9088+-1.2169 arithmetic-precise-order-2 354.2978+-3.2978 ? 355.9127+-6.1479 ? arithmetic-simple-order-1 321.7066+-1.3100 ? 322.7546+-2.1647 ? arithmetic-simple-order-2 380.9090+-3.8948 ? 382.9661+-8.5936 ? lz-string 306.0782+-6.6673 ? 309.2286+-6.8780 ? might be 1.0103x slower <geometric> 252.4386+-0.3218 ? 253.6110+-1.1810 ? might be 1.0046x slower TipOfTree FixArguments Geomean of preferred means: <scaled-result> 51.8200+-0.2903 ? 51.8531+-0.1978 ? might be 1.0006x slower Comment on attachment 257808 [details]
the patch
r=me
Landed in http://trac.webkit.org/changeset/187579 |