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.
Created attachment 251135 [details] work in progress Currently this crashes instantly. :-)
Created attachment 251274 [details] it works but it might be slow Still checking performance and such.
Created attachment 251292 [details] probably fast enough Still doing more tests though.
Created attachment 251396 [details] more speed
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
Created attachment 251399 [details] the patch
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.
(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.
Created attachment 251458 [details] the patch Fixed some comments.
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.
(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.
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?
(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.
Landed in http://trac.webkit.org/changeset/183207