RESOLVED FIXED Bug 143735
DFG should insert Phantoms late using BytecodeKills and block-local OSR availability
https://bugs.webkit.org/show_bug.cgi?id=143735
Summary DFG should insert Phantoms late using BytecodeKills and block-local OSR avail...
Filip Pizlo
Reported 2015-04-14 15:56:27 PDT
This will remove bugs where we inserted a Phantom on the wrong thing, or we inserted a Phantom on the right thing but subsequent transformations caused the Phantom to no longer refer to the same thing as the desired MovHint.
Attachments
work in progress (12.84 KB, patch)
2015-04-19 16:27 PDT, Filip Pizlo
no flags
it works but it might be slow (18.70 KB, patch)
2015-04-21 16:24 PDT, Filip Pizlo
no flags
probably fast enough (22.58 KB, patch)
2015-04-21 19:23 PDT, Filip Pizlo
no flags
more speed (49.13 KB, patch)
2015-04-22 19:10 PDT, Filip Pizlo
no flags
the patch (39.56 KB, patch)
2015-04-22 19:43 PDT, Filip Pizlo
ggaren: review+
the patch (40.25 KB, patch)
2015-04-23 11:20 PDT, Filip Pizlo
ggaren: review+
Filip Pizlo
Comment 1 2015-04-19 16:27:32 PDT
Created attachment 251135 [details] work in progress Currently this crashes instantly. :-)
Filip Pizlo
Comment 2 2015-04-21 16:24:50 PDT
Created attachment 251274 [details] it works but it might be slow Still checking performance and such.
Filip Pizlo
Comment 3 2015-04-21 19:23:59 PDT
Created attachment 251292 [details] probably fast enough Still doing more tests though.
Filip Pizlo
Comment 4 2015-04-22 19:10:15 PDT
Created attachment 251396 [details] more speed
Filip Pizlo
Comment 5 2015-04-22 19:37:47 PDT
Latest perf numbers: Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on dethklok (MacBookPro9,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc (r183094) "Phantoms" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r183094) 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 Phantoms SunSpider: 3d-cube 5.0424+-0.2432 4.9709+-0.0769 might be 1.0144x faster 3d-morph 5.8194+-0.2026 5.7551+-0.0908 might be 1.0112x faster 3d-raytrace 6.4419+-0.3398 ? 6.5358+-0.2105 ? might be 1.0146x slower access-binary-trees 2.2443+-0.1253 ? 2.3378+-0.2136 ? might be 1.0417x slower access-fannkuch 5.9147+-0.1739 ? 6.2483+-0.3825 ? might be 1.0564x slower access-nbody 3.1857+-0.3602 3.0734+-0.3406 might be 1.0365x faster access-nsieve 3.3650+-0.1554 ? 3.4170+-0.0838 ? might be 1.0155x slower bitops-3bit-bits-in-byte 1.6069+-0.1172 1.5570+-0.0550 might be 1.0320x faster bitops-bits-in-byte 3.5409+-0.3095 3.4112+-0.0548 might be 1.0380x faster bitops-bitwise-and 2.1278+-0.1107 ? 2.2472+-0.2231 ? might be 1.0561x slower bitops-nsieve-bits 3.3204+-0.0766 3.2814+-0.0566 might be 1.0119x faster controlflow-recursive 2.2146+-0.1053 ? 2.3051+-0.1209 ? might be 1.0408x slower crypto-aes 4.1592+-0.1234 ? 4.2738+-0.2241 ? might be 1.0276x slower crypto-md5 2.4593+-0.2196 2.4097+-0.0891 might be 1.0206x faster crypto-sha1 2.5687+-0.2184 ? 2.6690+-0.2436 ? might be 1.0391x slower date-format-tofte 9.4229+-0.2422 ? 9.5609+-0.2631 ? might be 1.0146x slower date-format-xparb 5.5837+-0.1316 ? 6.2437+-0.6387 ? might be 1.1182x slower math-cordic 3.1552+-0.1329 ? 3.2006+-0.1118 ? might be 1.0144x slower math-partial-sums 5.8656+-0.8592 5.4100+-0.1252 might be 1.0842x faster math-spectral-norm 1.9286+-0.0797 ? 2.0343+-0.2256 ? might be 1.0548x slower regexp-dna 7.8387+-1.2663 7.4255+-0.3229 might be 1.0556x faster string-base64 4.7788+-0.5722 ? 5.5030+-0.9712 ? might be 1.1515x slower string-fasta 7.0892+-0.4499 6.9015+-0.6429 might be 1.0272x faster string-tagcloud 9.9109+-0.4872 9.6383+-0.1528 might be 1.0283x faster string-unpack-code 20.0622+-0.4602 19.8360+-1.3514 might be 1.0114x faster string-validate-input 4.9967+-0.3327 4.9472+-0.1065 might be 1.0100x faster <arithmetic> 5.1786+-0.0732 ? 5.1998+-0.0941 ? might be 1.0041x slower TipOfTree Phantoms LongSpider: 3d-cube 869.8075+-7.6573 865.3125+-4.3515 3d-morph 1528.4201+-4.3344 ? 1528.6641+-3.5679 ? 3d-raytrace 733.2135+-3.0039 ? 743.2482+-7.1808 ? might be 1.0137x slower access-binary-trees 1022.4955+-8.2002 ? 1030.2060+-9.3154 ? access-fannkuch 345.5316+-3.1564 333.7206+-12.4381 might be 1.0354x faster access-nbody 610.9330+-1.8580 ? 613.3153+-8.2762 ? access-nsieve 856.5666+-5.8369 ? 860.7399+-11.5757 ? bitops-3bit-bits-in-byte 44.2078+-0.7678 ? 46.1954+-3.8980 ? might be 1.0450x slower bitops-bits-in-byte 103.4895+-1.5742 ? 104.1345+-2.6413 ? bitops-nsieve-bits 634.8919+-9.5213 ? 636.4028+-2.7411 ? controlflow-recursive 476.3420+-0.5529 ! 479.8759+-0.8461 ! definitely 1.0074x slower crypto-aes 699.7954+-6.4900 ? 710.0792+-7.1895 ? might be 1.0147x slower crypto-md5 552.1233+-5.4077 549.7647+-6.2009 crypto-sha1 602.3127+-4.0319 595.1420+-8.7440 might be 1.0120x faster date-format-tofte 752.2622+-16.7335 ? 757.0235+-12.7832 ? date-format-xparb 832.9229+-42.4996 798.0126+-9.9324 might be 1.0437x faster math-cordic 592.3583+-3.9580 ? 592.5445+-2.0979 ? math-partial-sums 513.7517+-2.5461 510.1917+-1.9971 math-spectral-norm 564.9075+-2.5067 564.7650+-1.7519 string-base64 382.2008+-8.5241 378.9279+-3.2620 string-fasta 441.9298+-3.8990 438.7849+-3.3526 string-tagcloud 216.1237+-2.7379 ? 219.7808+-3.1449 ? might be 1.0169x slower <geometric> 498.9609+-1.1659 ? 499.0528+-2.1702 ? might be 1.0002x slower TipOfTree Phantoms V8Spider: crypto 54.6539+-1.7305 ? 57.2838+-2.1507 ? might be 1.0481x slower deltablue 98.2509+-7.0306 95.5972+-5.1723 might be 1.0278x faster earley-boyer 43.9778+-0.6343 ! 45.2846+-0.4388 ! definitely 1.0297x slower raytrace 40.1969+-2.3162 ? 43.5972+-2.2466 ? might be 1.0846x slower regexp 86.3689+-2.2353 84.5293+-1.2271 might be 1.0218x faster richards 79.1830+-1.9402 ? 80.7668+-2.1827 ? might be 1.0200x slower splay 39.7161+-2.9009 ? 40.6805+-1.5302 ? might be 1.0243x slower <geometric> 59.2595+-1.4273 ? 60.5777+-0.8456 ? might be 1.0222x slower TipOfTree Phantoms Octane: encrypt 0.21124+-0.02530 0.20216+-0.00097 might be 1.0449x faster decrypt 3.62029+-0.04894 3.59999+-0.06020 deltablue x2 0.20819+-0.00170 ? 0.20866+-0.00271 ? earley 0.53932+-0.00400 ? 0.54331+-0.00264 ? boyer 6.72513+-0.08745 6.64183+-0.03920 might be 1.0125x faster navier-stokes x2 5.17945+-0.01523 ? 5.18579+-0.01194 ? raytrace x2 1.27475+-0.02932 1.26460+-0.04783 richards x2 0.12186+-0.00125 ? 0.12222+-0.00179 ? splay x2 0.39761+-0.00382 ? 0.39766+-0.00228 ? regexp x2 33.37021+-0.19029 33.28366+-0.50253 pdfjs x2 44.01472+-0.38588 ? 44.04534+-0.25861 ? mandreel x2 50.29814+-0.45824 ? 50.33347+-0.19098 ? gbemu x2 41.90829+-0.14969 ? 43.54967+-3.09998 ? might be 1.0392x slower closure 0.55079+-0.00405 ! 0.56270+-0.00123 ! definitely 1.0216x slower jquery 6.99852+-0.03672 ! 7.13284+-0.02626 ! definitely 1.0192x slower box2d x2 12.24466+-0.06327 12.22918+-0.05730 zlib x2 375.81528+-16.35704 ? 389.85517+-14.25274 ? might be 1.0374x slower typescript x2 832.00496+-6.88461 ? 836.61283+-8.33751 ? <geometric> 6.71983+-0.03768 ? 6.75115+-0.02550 ? might be 1.0047x slower TipOfTree Phantoms Kraken: ai-astar 268.187+-0.909 ? 270.226+-1.936 ? audio-beat-detection 107.015+-3.706 105.571+-0.801 might be 1.0137x faster audio-dft 149.854+-2.747 ? 151.217+-2.933 ? audio-fft 83.188+-3.844 ? 86.672+-1.405 ? might be 1.0419x slower audio-oscillator 208.212+-1.879 208.138+-2.023 imaging-darkroom 106.028+-1.648 ? 106.521+-1.416 ? imaging-desaturate 62.906+-1.656 ? 63.017+-1.628 ? imaging-gaussian-blur 116.092+-5.361 114.200+-2.023 might be 1.0166x faster json-parse-financial 45.870+-1.969 ? 46.983+-1.800 ? might be 1.0243x slower json-stringify-tinderbox 58.609+-1.618 58.333+-2.318 stanford-crypto-aes 63.697+-0.653 ? 63.780+-0.378 ? stanford-crypto-ccm 54.249+-0.231 ? 59.235+-5.455 ? might be 1.0919x slower stanford-crypto-pbkdf2 170.184+-2.743 170.034+-2.214 stanford-crypto-sha256-iterative 56.848+-1.356 55.352+-1.343 might be 1.0270x faster <arithmetic> 110.781+-0.472 ? 111.377+-0.918 ? might be 1.0054x slower TipOfTree Phantoms JSRegress: abs-boolean 2.6354+-0.0619 ? 2.7767+-0.3469 ? might be 1.0536x slower adapt-to-double-divide 16.6226+-0.2391 ? 16.7762+-0.5813 ? aliased-arguments-getbyval 1.2625+-0.0555 ? 1.2998+-0.1225 ? might be 1.0296x slower allocate-big-object 2.8438+-0.2750 2.7919+-0.1251 might be 1.0186x faster arguments-named-and-reflective 13.0054+-0.6453 12.7455+-0.3981 might be 1.0204x faster arguments-out-of-bounds 14.8934+-0.3832 ? 14.9375+-0.2086 ? arguments-strict-mode 12.3180+-0.6236 11.9248+-0.9248 might be 1.0330x faster arguments 10.3883+-0.5614 ? 10.8193+-0.8593 ? might be 1.0415x slower arity-mismatch-inlining 0.8402+-0.0325 ? 0.8906+-0.0451 ? might be 1.0600x slower array-access-polymorphic-structure 7.3348+-1.3299 7.1145+-0.6105 might be 1.0310x faster array-nonarray-polymorhpic-access 36.0268+-2.1476 35.2161+-1.7095 might be 1.0230x faster array-prototype-every 87.1536+-1.6249 ? 89.4181+-3.0521 ? might be 1.0260x slower array-prototype-forEach 84.6139+-1.1761 ? 87.4924+-2.3482 ? might be 1.0340x slower array-prototype-map 95.0697+-2.6412 ? 99.2421+-3.1479 ? might be 1.0439x slower array-prototype-some 87.6648+-2.5079 ? 90.4334+-2.4814 ? might be 1.0316x slower array-splice-contiguous 41.7525+-1.3606 41.1243+-1.0134 might be 1.0153x faster array-with-double-add 4.3167+-0.3185 4.2378+-0.2537 might be 1.0186x faster array-with-double-increment 3.3181+-0.0838 ? 3.3727+-0.3124 ? might be 1.0165x slower array-with-double-mul-add 5.0398+-0.0950 ? 5.0481+-0.0709 ? array-with-double-sum 3.3735+-0.1584 3.3302+-0.0883 might be 1.0130x faster array-with-int32-add-sub 6.7124+-0.0838 ? 6.8888+-0.2422 ? might be 1.0263x slower array-with-int32-or-double-sum 3.5771+-0.6135 3.3081+-0.0333 might be 1.0813x faster ArrayBuffer-DataView-alloc-large-long-lived 32.8987+-1.5349 ? 35.9418+-1.7600 ? might be 1.0925x slower ArrayBuffer-DataView-alloc-long-lived 14.7145+-1.7410 ? 16.4810+-2.5726 ? might be 1.1201x slower ArrayBuffer-Int32Array-byteOffset 3.7867+-0.1408 ? 3.8493+-0.0582 ? might be 1.0165x slower ArrayBuffer-Int8Array-alloc-large-long-lived 33.7231+-1.3960 ? 35.4100+-1.9501 ? might be 1.0500x slower ArrayBuffer-Int8Array-alloc-long-lived-buffer 22.5824+-1.3601 ? 24.2017+-1.4287 ? might be 1.0717x slower ArrayBuffer-Int8Array-alloc-long-lived 14.1675+-1.6173 ? 15.2691+-1.7072 ? might be 1.0778x slower ArrayBuffer-Int8Array-alloc 11.1627+-0.4232 ? 12.5942+-1.7899 ? might be 1.1282x slower asmjs_bool_bug 7.5929+-0.0540 ? 7.7052+-0.1856 ? might be 1.0148x slower assign-custom-setter-polymorphic 3.1446+-0.3951 ? 3.2977+-0.3956 ? might be 1.0487x slower assign-custom-setter 4.2607+-0.2029 ? 4.6628+-0.5714 ? might be 1.0944x slower basic-set 8.4494+-0.5870 8.3340+-0.1041 might be 1.0138x faster big-int-mul 4.0830+-0.0773 ^ 3.9686+-0.0324 ^ definitely 1.0288x faster boolean-test 3.0603+-0.1351 ? 3.0912+-0.0862 ? might be 1.0101x slower branch-fold 3.7408+-0.0582 3.7269+-0.1166 by-val-generic 7.9459+-0.1436 ? 8.1209+-0.4206 ? might be 1.0220x slower call-spread-apply 29.1362+-0.9559 ! 32.2539+-1.8851 ! definitely 1.1070x slower call-spread-call 25.7860+-2.4087 ? 27.2384+-1.6145 ? might be 1.0563x slower captured-assignments 0.4703+-0.0651 ? 0.4808+-0.0564 ? might be 1.0225x slower cast-int-to-double 5.6497+-0.8765 5.3375+-0.0572 might be 1.0585x faster cell-argument 8.6250+-0.2717 ? 8.6957+-0.1837 ? cfg-simplify 2.9465+-0.0780 ? 2.9498+-0.1975 ? chain-getter-access 10.0941+-0.2342 10.0170+-0.1892 cmpeq-obj-to-obj-other 11.8979+-1.1029 11.4023+-0.9042 might be 1.0435x faster constant-test 4.8899+-0.0144 ! 4.9896+-0.0234 ! definitely 1.0204x slower create-lots-of-functions 12.0387+-0.6852 11.9248+-0.3206 DataView-custom-properties 38.7274+-2.0451 ? 40.5913+-1.2696 ? might be 1.0481x slower deconstructing-parameters-overridden-by-function 0.5326+-0.0276 0.5010+-0.0189 might be 1.0631x faster delay-tear-off-arguments-strictmode 14.4565+-1.1659 14.2883+-0.1742 might be 1.0118x faster deltablue-varargs 201.3281+-2.9463 ? 203.8250+-1.1436 ? might be 1.0124x slower destructuring-arguments 17.5599+-0.5067 ? 18.4723+-0.7892 ? might be 1.0520x slower destructuring-swap 5.0735+-0.0968 5.0704+-0.0207 direct-arguments-getbyval 1.3149+-0.1846 1.2583+-0.1906 might be 1.0450x faster div-boolean-double 5.3170+-0.2323 5.2292+-0.0390 might be 1.0168x faster div-boolean 7.8220+-0.0429 ? 7.8265+-0.0928 ? double-get-by-val-out-of-bounds 4.5457+-0.0710 4.5215+-0.0914 double-pollution-getbyval 8.8473+-0.0277 ? 8.8667+-0.0535 ? double-pollution-putbyoffset 4.4572+-0.1591 ? 4.4618+-0.1300 ? double-to-int32-typed-array-no-inline 2.2817+-0.1086 2.2200+-0.0764 might be 1.0278x faster double-to-int32-typed-array 1.8393+-0.0651 ? 1.9467+-0.0570 ? might be 1.0584x slower double-to-uint32-typed-array-no-inline 2.3452+-0.2106 2.3412+-0.0555 double-to-uint32-typed-array 1.9297+-0.0114 ! 2.1941+-0.2411 ! definitely 1.1370x slower elidable-new-object-dag 43.7360+-1.4893 ? 44.3418+-1.5628 ? might be 1.0139x slower elidable-new-object-roflcopter 47.9366+-1.8151 ? 48.4495+-1.2890 ? might be 1.0107x slower elidable-new-object-then-call 40.4362+-1.4537 39.1064+-0.8807 might be 1.0340x faster elidable-new-object-tree 46.2928+-1.0917 ? 46.4242+-1.5003 ? empty-string-plus-int 5.3992+-0.1043 ? 5.6059+-0.1513 ? might be 1.0383x slower emscripten-cube2hash 39.5417+-1.0718 ? 39.7839+-1.4584 ? exit-length-on-plain-object 15.2425+-0.8298 14.9673+-1.3502 might be 1.0184x faster external-arguments-getbyval 1.3968+-0.2173 1.3134+-0.0263 might be 1.0635x faster external-arguments-putbyval 2.5873+-0.8086 2.3147+-0.2346 might be 1.1178x faster fixed-typed-array-storage-var-index 1.2181+-0.0539 ? 1.2474+-0.0555 ? might be 1.0240x slower fixed-typed-array-storage 0.9559+-0.0469 0.9497+-0.0216 Float32Array-matrix-mult 4.5787+-0.5280 4.4221+-0.1567 might be 1.0354x faster Float32Array-to-Float64Array-set 54.3658+-0.7831 ! 55.8142+-0.4622 ! definitely 1.0266x slower Float64Array-alloc-long-lived 73.5948+-1.7035 ? 74.5196+-1.8971 ? might be 1.0126x slower Float64Array-to-Int16Array-set 68.4350+-1.9205 ? 68.6193+-1.9912 ? fold-double-to-int 13.6452+-0.2637 13.4764+-0.3347 might be 1.0125x faster fold-get-by-id-to-multi-get-by-offset-rare-int 11.1737+-1.7672 9.5597+-0.5011 might be 1.1688x faster fold-get-by-id-to-multi-get-by-offset 9.7513+-0.9540 ? 10.2514+-1.7118 ? might be 1.0513x slower fold-multi-get-by-offset-to-get-by-offset 9.1371+-0.9534 8.8715+-1.5324 might be 1.0299x faster fold-multi-get-by-offset-to-poly-get-by-offset 9.1298+-0.6662 ? 9.1392+-0.6373 ? fold-multi-put-by-offset-to-poly-put-by-offset 9.3077+-0.7425 ? 10.1484+-0.8961 ? might be 1.0903x slower fold-multi-put-by-offset-to-put-by-offset 5.9863+-1.2616 4.6207+-0.8036 might be 1.2955x faster fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 10.0639+-0.5399 ? 10.1071+-0.5060 ? fold-put-by-id-to-multi-put-by-offset 10.0092+-1.3135 ? 11.4000+-0.8984 ? might be 1.1390x slower fold-put-structure 6.4770+-1.4869 4.6645+-0.6152 might be 1.3886x faster for-of-iterate-array-entries 4.6789+-0.2190 ? 4.7780+-0.0978 ? might be 1.0212x slower for-of-iterate-array-keys 4.0196+-0.4398 3.8187+-0.1949 might be 1.0526x faster for-of-iterate-array-values 3.5969+-0.1432 ? 3.7429+-0.2113 ? might be 1.0406x slower fround 19.8766+-0.2944 ? 20.2817+-0.5798 ? might be 1.0204x slower ftl-library-inlining-dataview 80.4601+-0.6447 ? 82.5903+-1.5552 ? might be 1.0265x slower ftl-library-inlining 76.0899+-16.2283 ? 83.0909+-21.5231 ? might be 1.0920x slower function-dot-apply 2.2642+-0.0628 ? 2.2915+-0.0632 ? might be 1.0121x slower function-test 3.4134+-0.1954 3.3460+-0.0608 might be 1.0201x faster function-with-eval 103.6036+-2.9617 103.0661+-2.7977 gcse-poly-get-less-obvious 19.9333+-1.5948 19.3730+-1.6639 might be 1.0289x faster gcse-poly-get 21.3683+-1.7972 ? 21.9095+-1.4778 ? might be 1.0253x slower gcse 5.0028+-0.6436 4.3558+-0.0586 might be 1.1485x faster get-by-id-bimorphic-check-structure-elimination-simple 2.8582+-0.2050 2.7687+-0.0944 might be 1.0323x faster get-by-id-bimorphic-check-structure-elimination 6.1968+-0.3781 6.1022+-0.1347 might be 1.0155x faster get-by-id-chain-from-try-block 6.8992+-0.7004 6.7407+-0.3575 might be 1.0235x faster get-by-id-check-structure-elimination 5.3055+-0.3247 ? 5.4245+-0.4771 ? might be 1.0224x slower get-by-id-proto-or-self 17.9760+-0.4948 17.2282+-0.8134 might be 1.0434x faster get-by-id-quadmorphic-check-structure-elimination-simple 3.3424+-0.4155 3.2340+-0.1234 might be 1.0335x faster get-by-id-self-or-proto 17.3678+-0.4074 ? 19.3097+-5.3717 ? might be 1.1118x slower get-by-val-out-of-bounds 4.4098+-0.0697 ? 4.4586+-0.1106 ? might be 1.0111x slower get_callee_monomorphic 2.7402+-0.0757 ? 2.8749+-0.2319 ? might be 1.0492x slower get_callee_polymorphic 3.8886+-0.4049 ? 4.1922+-0.5601 ? might be 1.0781x slower getter-no-activation 4.9361+-0.2251 ? 5.1210+-0.2985 ? might be 1.0374x slower getter-richards 134.5706+-23.4794 129.1708+-5.5608 might be 1.0418x faster getter 5.5548+-0.5899 ? 6.2629+-0.8419 ? might be 1.1275x slower global-var-const-infer-fire-from-opt 0.9598+-0.1037 ? 1.0114+-0.0182 ? might be 1.0538x slower global-var-const-infer 0.7919+-0.0452 ? 0.8003+-0.1237 ? might be 1.0106x slower HashMap-put-get-iterate-keys 27.1170+-0.4905 26.5796+-0.3534 might be 1.0202x faster HashMap-put-get-iterate 27.2843+-0.8562 26.5205+-0.6198 might be 1.0288x faster HashMap-string-put-get-iterate 27.2079+-1.4198 26.2659+-0.8603 might be 1.0359x faster hoist-make-rope 12.6641+-0.7898 11.9349+-0.8549 might be 1.0611x faster hoist-poly-check-structure-effectful-loop 5.0643+-0.0896 5.0279+-0.0247 hoist-poly-check-structure 3.6406+-0.0594 ? 3.7683+-0.2048 ? might be 1.0351x slower imul-double-only 8.5290+-0.6420 ? 9.2600+-0.7788 ? might be 1.0857x slower imul-int-only 9.8929+-0.2103 9.8811+-0.3732 imul-mixed 8.4248+-0.4893 8.3924+-0.3702 in-four-cases 18.9368+-0.3386 ! 20.5354+-0.0691 ! definitely 1.0844x slower in-one-case-false 10.1924+-0.3472 ? 10.3354+-0.6285 ? might be 1.0140x slower in-one-case-true 9.9651+-0.3429 ? 10.0696+-0.4443 ? might be 1.0105x slower in-two-cases 10.6329+-0.6887 10.4830+-0.3787 might be 1.0143x faster indexed-properties-in-objects 2.8717+-0.0320 ! 3.0368+-0.0611 ! definitely 1.0575x slower infer-closure-const-then-mov-no-inline 4.5870+-0.4268 4.2021+-0.3517 might be 1.0916x faster infer-closure-const-then-mov 19.2043+-0.1428 ! 19.7883+-0.3837 ! definitely 1.0304x slower infer-closure-const-then-put-to-scope-no-inline 15.3770+-1.4999 14.5754+-1.5172 might be 1.0550x faster infer-closure-const-then-put-to-scope 22.9858+-1.2240 22.6395+-1.3508 might be 1.0153x faster infer-closure-const-then-reenter-no-inline 67.8719+-1.0366 66.5077+-1.7539 might be 1.0205x faster infer-closure-const-then-reenter 22.4334+-0.8973 ? 22.6507+-1.0402 ? infer-constant-global-property 30.9496+-1.5941 ? 31.1235+-1.3094 ? infer-constant-property 2.8396+-0.3241 2.7179+-0.0559 might be 1.0448x faster infer-one-time-closure-ten-vars 12.7043+-0.3855 12.5286+-0.2668 might be 1.0140x faster infer-one-time-closure-two-vars 12.9353+-1.7823 12.8198+-1.4616 infer-one-time-closure 12.9332+-1.5944 12.3585+-0.7340 might be 1.0465x faster infer-one-time-deep-closure 22.2740+-2.1168 21.4410+-1.1130 might be 1.0389x faster inline-arguments-access 4.7295+-0.1518 ? 4.7849+-0.4025 ? might be 1.0117x slower inline-arguments-aliased-access 4.6505+-0.1803 ? 4.8250+-0.2479 ? might be 1.0375x slower inline-arguments-local-escape 4.7391+-0.0685 ? 4.7773+-0.3469 ? inline-get-scoped-var 4.8732+-0.2971 ? 4.9003+-0.2492 ? inlined-put-by-id-transition 10.8020+-0.0926 ! 11.5483+-0.4152 ! definitely 1.0691x slower int-or-other-abs-then-get-by-val 4.8535+-0.1975 4.7444+-0.0985 might be 1.0230x faster int-or-other-abs-zero-then-get-by-val 17.4028+-0.9022 ? 18.1868+-1.0251 ? might be 1.0451x slower int-or-other-add-then-get-by-val 4.3615+-0.0646 4.3390+-0.0720 int-or-other-add 5.3053+-0.0499 5.2941+-0.0425 int-or-other-div-then-get-by-val 4.1285+-0.1168 ! 4.3898+-0.1145 ! definitely 1.0633x slower int-or-other-max-then-get-by-val 4.2846+-0.0784 ? 4.4648+-0.2407 ? might be 1.0420x slower int-or-other-min-then-get-by-val 4.4198+-0.0208 ? 4.5505+-0.2255 ? might be 1.0296x slower int-or-other-mod-then-get-by-val 3.8343+-0.0792 ? 3.9373+-0.0616 ? might be 1.0269x slower int-or-other-mul-then-get-by-val 4.1888+-0.2432 3.9971+-0.1444 might be 1.0480x faster int-or-other-neg-then-get-by-val 4.4754+-0.0632 ? 4.5474+-0.1226 ? might be 1.0161x slower int-or-other-neg-zero-then-get-by-val 17.2126+-1.0192 ? 17.4067+-0.3777 ? might be 1.0113x slower int-or-other-sub-then-get-by-val 4.3766+-0.1472 ? 4.7120+-0.2923 ? might be 1.0766x slower int-or-other-sub 3.4814+-0.1142 3.4784+-0.0428 int-overflow-local 4.3173+-0.0396 ! 4.4556+-0.0703 ! definitely 1.0320x slower Int16Array-alloc-long-lived 52.7500+-0.9924 ? 52.9688+-1.9284 ? Int16Array-bubble-sort-with-byteLength 20.8311+-1.3772 20.5093+-1.4106 might be 1.0157x faster Int16Array-bubble-sort 19.6806+-0.2016 19.6342+-0.2629 Int16Array-load-int-mul 1.5905+-0.1671 1.5194+-0.0295 might be 1.0468x faster Int16Array-to-Int32Array-set 59.0631+-2.7997 ^ 53.4653+-1.8875 ^ definitely 1.1047x faster Int32Array-alloc-large 25.2626+-1.7818 24.9707+-1.0133 might be 1.0117x faster Int32Array-alloc-long-lived 58.0240+-2.0192 ? 58.8138+-1.9868 ? might be 1.0136x slower Int32Array-alloc 3.6794+-0.2109 ? 3.8342+-0.4754 ? might be 1.0421x slower Int32Array-Int8Array-view-alloc 7.2453+-0.8101 ? 7.8004+-1.6554 ? might be 1.0766x slower int52-spill 6.4373+-0.0922 ? 6.5096+-0.1389 ? might be 1.0112x slower Int8Array-alloc-long-lived 47.7861+-2.1150 ? 48.0362+-0.6007 ? Int8Array-load-with-byteLength 3.4451+-0.2660 3.3846+-0.1174 might be 1.0179x faster Int8Array-load 3.4719+-0.2920 3.3967+-0.1904 might be 1.0221x faster integer-divide 11.6329+-0.1628 11.2756+-0.3890 might be 1.0317x faster integer-modulo 1.9588+-0.0572 ? 2.0308+-0.0620 ? might be 1.0367x slower large-int-captured 4.8144+-0.3769 4.6491+-0.0683 might be 1.0355x faster large-int-neg 17.7464+-1.7935 16.4386+-0.2760 might be 1.0796x faster large-int 16.0633+-1.4950 15.6182+-0.9464 might be 1.0285x faster logical-not 4.4630+-0.0384 ? 4.4911+-0.0359 ? lots-of-fields 12.9123+-0.3571 ? 13.2996+-0.5210 ? might be 1.0300x slower make-indexed-storage 3.0963+-0.0667 ? 3.1394+-0.0614 ? might be 1.0139x slower make-rope-cse 4.9319+-0.3069 ? 5.1701+-0.6660 ? might be 1.0483x slower marsaglia-larger-ints 35.7398+-0.6572 35.5125+-0.3703 marsaglia-osr-entry 25.0204+-1.5964 23.8337+-0.6237 might be 1.0498x faster max-boolean 2.4061+-0.0243 ? 2.4911+-0.0866 ? might be 1.0353x slower method-on-number 17.3218+-0.4503 ? 17.4090+-0.2613 ? min-boolean 2.5316+-0.0900 ? 2.6317+-0.2182 ? might be 1.0395x slower minus-boolean-double 3.1614+-0.0682 ? 3.1993+-0.0811 ? might be 1.0120x slower minus-boolean 2.3643+-0.1205 2.3119+-0.0520 might be 1.0227x faster misc-strict-eq 38.5804+-1.5467 37.4220+-0.6912 might be 1.0310x faster mod-boolean-double 10.9295+-0.1903 ? 11.3193+-0.9252 ? might be 1.0357x slower mod-boolean 7.9762+-0.2585 7.8665+-0.1255 might be 1.0139x faster mul-boolean-double 3.8248+-0.2919 3.6990+-0.0474 might be 1.0340x faster mul-boolean 2.9231+-0.0656 ? 3.0174+-0.2259 ? might be 1.0323x slower neg-boolean 3.4657+-0.3498 3.4094+-0.4292 might be 1.0165x faster negative-zero-divide 0.3610+-0.0415 ? 0.3960+-0.0914 ? might be 1.0971x slower negative-zero-modulo 0.3450+-0.0074 ? 0.4211+-0.0929 ? might be 1.2207x slower negative-zero-negate 0.3234+-0.0531 ? 0.3339+-0.0074 ? might be 1.0325x slower nested-function-parsing 38.9415+-1.2277 ? 39.7703+-2.2490 ? might be 1.0213x slower new-array-buffer-dead 111.6466+-1.3951 ? 113.0322+-2.1782 ? might be 1.0124x slower new-array-buffer-push 7.9019+-1.2654 7.2448+-0.6498 might be 1.0907x faster new-array-dead 20.3440+-1.0986 19.3533+-0.5163 might be 1.0512x faster new-array-push 4.0097+-0.2606 ? 4.1059+-0.2186 ? might be 1.0240x slower no-inline-constructor 125.7222+-1.3213 ? 125.8537+-1.6382 ? number-test 2.9968+-0.0747 ? 3.1403+-0.2979 ? might be 1.0479x slower object-closure-call 5.7170+-0.3696 5.6768+-0.0748 object-test 3.2122+-0.3161 3.1675+-0.0542 might be 1.0141x faster obvious-sink-pathology-taken 140.9941+-1.6366 140.5824+-1.8583 obvious-sink-pathology 133.6877+-1.3876 133.2822+-3.2170 obviously-elidable-new-object 35.9899+-2.3129 35.0474+-1.0954 might be 1.0269x faster plus-boolean-arith 2.5304+-0.0551 2.4875+-0.0851 might be 1.0172x faster plus-boolean-double 3.2042+-0.0456 ? 3.2043+-0.0480 ? plus-boolean 2.4609+-0.1112 2.4024+-0.1192 might be 1.0244x faster poly-chain-access-different-prototypes-simple 3.3431+-0.1683 3.2963+-0.0237 might be 1.0142x faster poly-chain-access-different-prototypes 2.6604+-0.3276 2.6097+-0.0476 might be 1.0194x faster poly-chain-access-simpler 3.4639+-0.4781 3.3433+-0.1433 might be 1.0361x faster poly-chain-access 2.5854+-0.0619 2.5768+-0.0521 poly-stricteq 61.7244+-1.0675 60.0522+-0.7092 might be 1.0278x faster polymorphic-array-call 1.1311+-0.0523 ? 1.2703+-0.1473 ? might be 1.1230x slower polymorphic-get-by-id 3.2054+-0.0727 3.1314+-0.0327 might be 1.0236x faster polymorphic-put-by-id 30.4344+-2.3992 29.1840+-1.3090 might be 1.0428x faster polymorphic-structure 15.4368+-0.8542 15.1097+-0.8936 might be 1.0217x faster polyvariant-monomorphic-get-by-id 8.6597+-0.3235 ? 8.7203+-0.1757 ? proto-getter-access 10.1275+-0.2006 9.9927+-0.1516 might be 1.0135x faster put-by-id-replace-and-transition 9.2397+-0.1285 9.2023+-0.4351 put-by-id-slightly-polymorphic 3.0896+-0.2430 2.8431+-0.0481 might be 1.0867x faster put-by-id 12.7818+-0.4412 ? 13.2375+-0.4799 ? might be 1.0357x slower put-by-val-direct 0.4386+-0.0198 ? 0.4406+-0.0116 ? put-by-val-large-index-blank-indexing-type 6.0708+-0.5027 ? 6.3074+-0.7633 ? might be 1.0390x slower put-by-val-machine-int 2.8305+-0.1186 2.8187+-0.1277 rare-osr-exit-on-local 15.4897+-1.2028 ? 15.9331+-1.3289 ? might be 1.0286x slower register-pressure-from-osr 22.3381+-1.3280 21.6399+-0.2340 might be 1.0323x faster setter 5.6908+-0.5954 ? 6.2041+-0.8646 ? might be 1.0902x slower simple-activation-demo 24.8530+-0.6202 ? 25.6334+-1.6716 ? might be 1.0314x slower simple-getter-access 12.6529+-0.1765 ? 12.8226+-0.2845 ? might be 1.0134x slower simple-poly-call-nested 8.5885+-0.6351 8.3855+-0.5024 might be 1.0242x faster simple-poly-call 1.3885+-0.2696 1.3632+-0.0761 might be 1.0185x faster sin-boolean 23.2449+-1.2936 23.1338+-0.6832 singleton-scope 69.1093+-1.3235 67.7059+-0.7031 might be 1.0207x faster sinkable-new-object-dag 70.6011+-1.0439 70.2609+-1.2032 sinkable-new-object-taken 50.9171+-2.8695 ? 53.8829+-1.9382 ? might be 1.0582x slower sinkable-new-object 39.2499+-1.5391 39.0130+-1.5164 slow-array-profile-convergence 2.9033+-0.2621 2.8421+-0.1975 might be 1.0215x faster slow-convergence 2.8220+-0.2936 ? 2.8831+-0.2825 ? might be 1.0216x slower sorting-benchmark 24.7218+-1.1157 ? 24.7409+-1.3203 ? sparse-conditional 1.1020+-0.0270 ? 1.2111+-0.1118 ? might be 1.0990x slower splice-to-remove 17.8827+-1.7345 17.6655+-2.0424 might be 1.0123x faster string-char-code-at 16.4132+-0.2622 ? 17.3077+-1.2851 ? might be 1.0545x slower string-concat-object 2.5758+-0.1425 ? 2.6901+-0.2194 ? might be 1.0444x slower string-concat-pair-object 2.6036+-0.1560 ? 2.8464+-0.4162 ? might be 1.0932x slower string-concat-pair-simple 11.9384+-0.7421 11.8477+-0.6327 string-concat-simple 12.2691+-0.5947 12.2167+-0.5254 string-cons-repeat 8.2815+-0.7863 ? 9.1368+-0.7698 ? might be 1.1033x slower string-cons-tower 8.8721+-0.9923 8.1443+-0.2651 might be 1.0894x faster string-equality 17.7003+-0.3457 17.3968+-0.1797 might be 1.0174x faster string-get-by-val-big-char 7.2655+-0.2662 ? 7.5064+-0.1486 ? might be 1.0332x slower string-get-by-val-out-of-bounds-insane 3.7850+-0.1282 ? 3.8710+-0.2632 ? might be 1.0227x slower string-get-by-val-out-of-bounds 5.2295+-0.1733 ? 5.3647+-0.3142 ? might be 1.0259x slower string-get-by-val 3.2919+-0.0838 ? 3.5472+-0.4587 ? might be 1.0776x slower string-hash 2.1726+-0.2633 2.0413+-0.0429 might be 1.0643x faster string-long-ident-equality 14.5866+-0.1702 ? 14.7464+-0.2420 ? might be 1.0110x slower string-out-of-bounds 14.9314+-0.3362 ? 15.1408+-0.3133 ? might be 1.0140x slower string-repeat-arith 32.2200+-2.0924 ? 34.0039+-1.8694 ? might be 1.0554x slower string-sub 64.8723+-3.3219 ! 71.3544+-2.6844 ! definitely 1.0999x slower string-test 2.8597+-0.0313 ! 2.9679+-0.0340 ! definitely 1.0378x slower string-var-equality 31.2848+-1.5856 ? 31.3303+-1.7603 ? structure-hoist-over-transitions 2.5527+-0.0791 ? 2.6463+-0.0772 ? might be 1.0367x slower substring-concat-weird 40.5707+-1.3541 ? 41.9733+-1.7952 ? might be 1.0346x slower substring-concat 41.2804+-1.2445 41.1396+-1.2893 substring 46.2070+-0.7120 ? 47.1690+-2.0211 ? might be 1.0208x slower switch-char-constant 2.7120+-0.0611 ? 2.7565+-0.0956 ? might be 1.0164x slower switch-char 7.2608+-0.9833 ? 7.3573+-1.0432 ? might be 1.0133x slower switch-constant 8.5667+-0.1409 ? 8.5725+-0.3166 ? switch-string-basic-big-var 14.6858+-0.1965 ? 14.7923+-0.2366 ? switch-string-basic-big 14.8506+-1.9251 ? 14.9808+-1.4210 ? switch-string-basic-var 14.5263+-1.2412 ? 15.6058+-1.8520 ? might be 1.0743x slower switch-string-basic 13.1682+-0.9675 ? 13.9244+-1.5739 ? might be 1.0574x slower switch-string-big-length-tower-var 21.2768+-1.6782 20.2014+-1.4072 might be 1.0532x faster switch-string-length-tower-var 15.3482+-1.3119 ? 16.7479+-1.8560 ? might be 1.0912x slower switch-string-length-tower 13.2568+-1.5719 12.8048+-0.1687 might be 1.0353x faster switch-string-short 12.9726+-1.1473 ? 13.2367+-1.4812 ? might be 1.0204x slower switch 12.7676+-0.2847 ? 12.8370+-0.3421 ? tear-off-arguments-simple 3.4485+-0.2029 3.4314+-0.0609 tear-off-arguments 4.8903+-0.3230 4.8397+-0.2843 might be 1.0105x faster temporal-structure 12.9903+-1.2423 12.2935+-0.1544 might be 1.0567x faster to-int32-boolean 13.5859+-0.1159 ? 13.8393+-0.2969 ? might be 1.0186x slower try-catch-get-by-val-cloned-arguments 15.1652+-1.5299 14.4604+-0.2548 might be 1.0487x faster try-catch-get-by-val-direct-arguments 6.9480+-1.2827 ? 7.5710+-1.2586 ? might be 1.0897x slower try-catch-get-by-val-scoped-arguments 7.9561+-0.9713 7.6558+-0.1994 might be 1.0392x faster undefined-property-access 360.8572+-3.1262 ^ 354.7093+-2.3039 ^ definitely 1.0173x faster undefined-test 2.9883+-0.0403 ! 3.1202+-0.0733 ! definitely 1.0441x slower unprofiled-licm 23.1141+-0.8690 ? 23.3839+-1.3723 ? might be 1.0117x slower varargs-call 16.1381+-0.9337 15.1843+-0.7494 might be 1.0628x faster varargs-construct-inline 24.1261+-4.9809 22.3313+-1.2564 might be 1.0804x faster varargs-construct 31.6230+-0.6901 ? 31.6243+-1.1757 ? varargs-inline 9.7864+-0.3974 ? 11.3702+-2.9920 ? might be 1.1618x slower varargs-strict-mode 10.7511+-0.2583 ? 11.5681+-0.7385 ? might be 1.0760x slower varargs 10.8944+-0.5477 ? 11.2509+-0.2293 ? might be 1.0327x slower weird-inlining-const-prop 2.4908+-0.1789 2.4364+-0.1189 might be 1.0223x faster <geometric> 8.8798+-0.0319 ? 8.9376+-0.0305 ? might be 1.0065x slower TipOfTree Phantoms AsmBench: bigfib.cpp 496.0093+-6.3499 ? 498.4882+-4.4010 ? cray.c 429.5101+-4.1117 427.0995+-1.9842 dry.c 489.0392+-1.7439 ? 528.4001+-99.3151 ? might be 1.0805x slower FloatMM.c 724.7298+-1.9210 724.4025+-2.2871 gcc-loops.cpp 4267.1177+-14.9088 ? 4268.7125+-9.1571 ? n-body.c 980.9612+-3.1286 980.1216+-3.8824 Quicksort.c 420.5817+-1.5779 ? 423.2050+-3.2098 ? stepanov_container.cpp 3594.8186+-9.1786 ? 3611.5050+-11.2683 ? Towers.c 260.2696+-1.9962 259.7695+-0.7081 <geometric> 793.2457+-2.1551 ? 799.8487+-14.8687 ? might be 1.0083x slower TipOfTree Phantoms CompressionBench: huffman 358.9065+-2.8377 ! 370.7792+-2.5978 ! definitely 1.0331x slower arithmetic-simple 396.2536+-3.3336 ? 398.1304+-3.5848 ? arithmetic-precise 298.9169+-3.8824 298.8947+-3.2508 arithmetic-complex-precise 303.1027+-1.8073 299.7120+-5.4083 might be 1.0113x faster arithmetic-precise-order-0 422.6335+-9.2720 422.0087+-3.8899 arithmetic-precise-order-1 328.3498+-7.8892 328.1267+-3.1208 arithmetic-precise-order-2 357.9410+-4.8630 ? 364.2371+-2.7906 ? might be 1.0176x slower arithmetic-simple-order-1 423.3739+-2.2525 ? 425.4653+-3.3612 ? arithmetic-simple-order-2 472.3193+-11.8346 ? 474.5986+-14.2289 ? lz-string 325.7289+-3.3978 ? 326.5235+-4.4278 ? <geometric> 364.7323+-2.8637 ? 366.6881+-2.4185 ? might be 1.0054x slower TipOfTree Phantoms Geomean of preferred means: <scaled-result> 64.3153+-0.2380 ! 64.7699+-0.2056 ! definitely 1.0071x slower
Filip Pizlo
Comment 6 2015-04-22 19:43:05 PDT
Created attachment 251399 [details] the patch
WebKit Commit Bot
Comment 7 2015-04-22 19:46:17 PDT
Attachment 251399 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:119: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:125: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:126: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGForAllKills.h:56: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGForAllKills.h:129: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.cpp:963: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp:86: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7206: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 8 in 20 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 8 2015-04-22 19:53:43 PDT
(In reply to comment #7) > Attachment 251399 [details] did not pass style-queue: > > > ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:119: Place > brace on its own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:125: Place > brace on its own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:126: Multi > line control clauses should use braces. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGForAllKills.h:56: Place brace on its > own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGForAllKills.h:129: Place brace on its > own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGGraph.cpp:963: Place brace on its own > line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp:86: Place brace > on its own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7206: Place brace on > its own line for function definitions. [whitespace/braces] [4] > Total errors found: 8 in 20 files > > > If any of these errors are false positives, please file a bug against > check-webkit-style. All of these errors are incorrect. I'm using the accepted style for lambdas.
Filip Pizlo
Comment 9 2015-04-23 11:20:11 PDT
Created attachment 251458 [details] the patch Fixed some comments.
WebKit Commit Bot
Comment 10 2015-04-23 11:22:18 PDT
Attachment 251458 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:119: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:125: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:126: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGForAllKills.h:56: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGForAllKills.h:129: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.cpp:963: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp:86: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7206: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:58: One space before end of line comments [whitespace/comments] [5] ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:58: Should have a space between // and comment [whitespace/comments] [4] ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:63: One space before end of line comments [whitespace/comments] [5] ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:63: Should have a space between // and comment [whitespace/comments] [4] Total errors found: 12 in 20 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 11 2015-04-23 11:23:35 PDT
(In reply to comment #10) > Attachment 251458 [details] did not pass style-queue: > > > ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:119: Place > brace on its own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:125: Place > brace on its own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGPhantomInsertionPhase.cpp:126: Multi > line control clauses should use braces. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGForAllKills.h:56: Place brace on its > own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGForAllKills.h:129: Place brace on its > own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGGraph.cpp:963: Place brace on its own > line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp:86: Place brace > on its own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7206: Place brace on > its own line for function definitions. [whitespace/braces] [4] > ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:58: One space before end of > line comments [whitespace/comments] [5] > ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:58: Should have a space > between // and comment [whitespace/comments] [4] > ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:63: One space before end of > line comments [whitespace/comments] [5] > ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:63: Should have a space > between // and comment [whitespace/comments] [4] > Total errors found: 12 in 20 files > > > If any of these errors are false positives, please file a bug against > check-webkit-style. The style bot still hasn't been updated for our style of lambdas. That's one these are all about.
Geoffrey Garen
Comment 12 2015-04-23 13:05:27 PDT
Comment on attachment 251399 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=251399&action=review r=me > Source/JavaScriptCore/dfg/DFGGraph.h:722 > + // op_call_varargs inlining. Save the "Save the" > Source/JavaScriptCore/dfg/DFGNodeType.h:59 > + macro(GetLocal, NodeResultJS | NodeMustGenerate) \ I'm surprised that this is required. Why is this required?
Filip Pizlo
Comment 13 2015-04-23 13:16:50 PDT
(In reply to comment #12) > Comment on attachment 251399 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=251399&action=review > > r=me > > > Source/JavaScriptCore/dfg/DFGGraph.h:722 > > + // op_call_varargs inlining. Save the > > "Save the" Yup, fixed locally. "See the comment above" > > > Source/JavaScriptCore/dfg/DFGNodeType.h:59 > > + macro(GetLocal, NodeResultJS | NodeMustGenerate) \ > > I'm surprised that this is required. Why is this required? The comment above says: /* Note that GetLocal is MustGenerate because it's our only way of knowing that some other */\ /* basic block might have read a local variable in bytecode. We only remove GetLocals if it */\ /* is redundant because of an earlier GetLocal or SetLocal in the same block. We could make */\ /* these not MustGenerate and use a more sophisticated analysis to insert PhantomLocals in */\ /* the same way that we insert Phantoms. https://bugs.webkit.org/show_bug.cgi?id=144086 */\ It's the non-local equivalent of making MovHint a strong use, sort of. The associated bug that this references would be the more elegant solution, which I'll do in some future patch.
Filip Pizlo
Comment 14 2015-04-23 13:48:59 PDT
Note You need to log in before you can comment on or make changes to this bug.