WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
72065
ValueProfile/PredictedType contains dead code, and doesn't recognize functions
https://bugs.webkit.org/show_bug.cgi?id=72065
Summary
ValueProfile/PredictedType contains dead code, and doesn't recognize functions
Filip Pizlo
Reported
2011-11-10 15:16:13 PST
The ValueProfile/PredictedType code works great but could use some clean-up. ValueProfiles still contain statistics gathering code, which I thought we would use, but which never ended up being needed. We can bring it back later if it's useful but right now it isn't, so it should go away. Furthermore, PredictedType could use some improvement; right now it does not track JSFunctions even though it probably should.
Attachments
the patch
(14.58 KB, patch)
2011-11-10 15:25 PST
,
Filip Pizlo
ggaren
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2011-11-10 15:25:11 PST
Created
attachment 114586
[details]
the patch
Filip Pizlo
Comment 2
2011-11-10 15:31:47 PST
It's performance neutral. Sending VM builds to bigmac... Running on bigmac... 376/376 Generating benchmark report at TipOfTree_PredictFunc_SunSpiderV8Kraken_20111110_1524_benchReport.txt Benchmark report for SunSpider, V8, and Kraken on bigmac.local (MacPro5,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (
r99899
) "PredictFunc" at /Volumes/Data/pizlo/octonary/OpenSource/WebKitBuild/Release/jsc (
r99899
) Collected 12 samples per benchmark/VM, with 4 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 PredictFunc SunSpider: 3d-cube 7.4510+-0.0215 7.4487+-0.0168 3d-morph 8.4666+-0.1296 8.3534+-0.0271 might be 1.0136x faster 3d-raytrace 7.7256+-0.0332 7.7219+-0.0417 access-binary-trees 1.5951+-0.0065 ? 1.6034+-0.0170 ? access-fannkuch 7.5668+-0.0134 7.5647+-0.0093 access-nbody 4.1635+-0.0068 ? 4.1658+-0.0045 ? access-nsieve 3.1892+-0.0520 3.1573+-0.0487 might be 1.0101x faster bitops-3bit-bits-in-byte 1.2522+-0.0146 ^ 1.2337+-0.0024 ^ definitely 1.0150x faster bitops-bits-in-byte 5.0903+-0.0081 5.0813+-0.0161 bitops-bitwise-and 3.2933+-0.0140 3.2892+-0.0067 bitops-nsieve-bits 5.6496+-0.0380 ? 5.6565+-0.0369 ? controlflow-recursive 2.2660+-0.0178 ? 2.2819+-0.0237 ? crypto-aes 7.1344+-0.0375 7.1180+-0.0203 crypto-md5 2.5696+-0.0381 2.5291+-0.0130 might be 1.0160x faster crypto-sha1 2.2153+-0.0275 ? 2.2205+-0.0309 ? date-format-tofte 10.5814+-0.1046 ? 10.7014+-0.1813 ? might be 1.0113x slower date-format-xparb 10.0452+-0.1624 9.9214+-0.1113 might be 1.0125x faster math-cordic 7.8559+-0.2555 7.7849+-0.3140 math-partial-sums 10.5903+-0.0456 10.5575+-0.0379 math-spectral-norm 2.6130+-0.0280 2.5970+-0.0056 regexp-dna 13.3270+-0.1365 ? 13.3857+-0.1502 ? string-base64 3.9525+-0.0218 ? 3.9714+-0.0225 ? string-fasta 7.0352+-0.0195 ? 7.0393+-0.0164 ? string-tagcloud 13.2607+-0.0986 13.1443+-0.0786 string-unpack-code 22.1875+-0.1085 ? 22.3615+-0.1546 ? string-validate-input 5.7459+-0.0148 ^ 5.6923+-0.0267 ^ definitely 1.0094x faster <arithmetic> * 6.8009+-0.0269 6.7916+-0.0254 <geometric> 5.4229+-0.0218 5.4094+-0.0181 <harmonic> 4.2230+-0.0174 4.2089+-0.0155 TipOfTree PredictFunc V8: crypto 77.7920+-0.2599 ? 77.9735+-0.2164 ? deltablue 178.9092+-2.0112 176.4471+-0.5436 might be 1.0140x faster earley-boyer 106.4854+-0.7788 ? 107.2163+-1.0060 ? raytrace 64.5322+-0.5924 ^ 63.5356+-0.2555 ^ definitely 1.0157x faster regexp 124.4345+-0.4450 ? 124.9947+-0.7584 ? richards 139.2642+-0.3284 ^ 138.7288+-0.1305 ^ definitely 1.0039x faster splay 89.9584+-1.0182 89.4596+-0.8661 <arithmetic> 111.6251+-0.2546 111.1937+-0.2534 <geometric> * 105.8648+-0.2100 105.4880+-0.2587 <harmonic> 100.4689+-0.2284 100.0714+-0.2591 TipOfTree PredictFunc Kraken: ai-astar 827.8993+-2.3569 ^ 808.0137+-12.7757 ^ definitely 1.0246x faster audio-beat-detection 210.1012+-1.3983 209.6153+-0.3732 audio-dft 263.6122+-2.2761 261.2122+-2.1073 audio-fft 136.8735+-0.4714 136.8724+-0.1836 audio-oscillator 291.2965+-1.1678 289.9692+-0.6588 imaging-darkroom 333.8628+-4.6868 ? 335.7773+-4.6733 ? imaging-desaturate 240.8557+-0.1845 ? 240.9225+-0.1073 ? imaging-gaussian-blur 621.9453+-2.0887 620.8088+-0.1601 json-parse-financial 72.9938+-0.3702 ^ 71.8812+-0.3071 ^ definitely 1.0155x faster json-stringify-tinderbox 79.1508+-0.4047 ^ 78.5816+-0.1603 ^ definitely 1.0072x faster stanford-crypto-aes 115.3544+-0.6206 ? 116.2910+-0.7732 ? stanford-crypto-ccm 116.5024+-2.1756 115.7590+-0.7849 stanford-crypto-pbkdf2 232.0226+-0.5668 ? 232.4018+-0.6303 ? stanford-crypto-sha256-iterative 97.2512+-0.2678 ? 97.7409+-0.4190 ? <arithmetic> * 259.9801+-0.5405 ^ 258.2748+-0.9047 ^ definitely 1.0066x faster <geometric> 199.6667+-0.4347 198.9506+-0.2938 <harmonic> 160.1019+-0.3986 159.5524+-0.2051 TipOfTree PredictFunc All benchmarks: <arithmetic> 97.8281+-0.1604 ^ 97.2507+-0.2719 ^ definitely 1.0059x faster <geometric> 24.7129+-0.0551 24.6395+-0.0472 <harmonic> 7.4439+-0.0299 7.4190+-0.0267 TipOfTree PredictFunc Geomean of preferred means: <scaled-result> 57.2027+-0.0946 ^ 56.9834+-0.0889 ^ definitely 1.0038x faster Sending VM builds to oldmac... Running on oldmac... 376/376 Generating benchmark report at TipOfTree_PredictFunc_SunSpiderV8Kraken_20111110_1527_benchReport.txt Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (
r99899
) "PredictFunc" at /Volumes/Data/pizlo/octonary/OpenSource/WebKitBuild/Release/jsc (
r99899
) Collected 12 samples per benchmark/VM, with 4 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 PredictFunc SunSpider: 3d-cube 8.9898+-0.0385 8.9537+-0.0341 3d-morph 10.2417+-0.1811 ? 10.3491+-0.1554 ? might be 1.0105x slower 3d-raytrace 9.2165+-0.0476 ? 9.2964+-0.0945 ? access-binary-trees 1.9049+-0.0066 ? 1.9101+-0.0047 ? access-fannkuch 9.1498+-0.0116 ? 9.1826+-0.0593 ? access-nbody 5.0165+-0.0032 5.0109+-0.0049 access-nsieve 3.7681+-0.0562 3.7620+-0.0486 bitops-3bit-bits-in-byte 1.5011+-0.0142 ? 1.5016+-0.0215 ? bitops-bits-in-byte 6.1195+-0.0193 ? 6.1539+-0.0357 ? bitops-bitwise-and 3.9702+-0.0042 ? 3.9706+-0.0050 ? bitops-nsieve-bits 6.8475+-0.0466 6.8378+-0.0613 controlflow-recursive 2.7286+-0.0236 ? 2.7371+-0.0261 ? crypto-aes 8.5967+-0.0606 ? 8.5999+-0.0724 ? crypto-md5 3.0754+-0.0349 ? 3.0959+-0.0385 ? crypto-sha1 2.6352+-0.0359 2.6252+-0.0303 date-format-tofte 12.9906+-0.1273 ? 13.0785+-0.2130 ? date-format-xparb 12.4281+-0.1846 12.3483+-0.2553 math-cordic 9.0897+-0.3508 ? 9.3206+-0.3536 ? might be 1.0254x slower math-partial-sums 12.7186+-0.0439 12.6985+-0.0144 math-spectral-norm 3.1236+-0.0033 3.1231+-0.0074 regexp-dna 16.4704+-0.1150 16.4544+-0.1057 string-base64 4.7766+-0.0494 ? 4.7917+-0.0501 ? string-fasta 8.4870+-0.0365 8.4698+-0.0167 string-tagcloud 16.0770+-0.1289 ? 16.1057+-0.1213 ? string-unpack-code 27.5033+-0.1275 ! 27.8781+-0.1207 ! definitely 1.0136x slower string-validate-input 6.9261+-0.0593 ? 6.9312+-0.0600 ? <arithmetic> * 8.2443+-0.0350 ? 8.2764+-0.0373 ? <geometric> 6.5359+-0.0298 ? 6.5532+-0.0310 ? <harmonic> 5.0689+-0.0241 ? 5.0778+-0.0266 ? TipOfTree PredictFunc V8: crypto 94.1843+-0.4827 93.9954+-0.3382 deltablue 211.0106+-1.5365 ? 213.4590+-1.9532 ? might be 1.0116x slower earley-boyer 128.4136+-1.2743 ? 128.9901+-1.2956 ? raytrace 78.0415+-1.0843 77.7479+-0.8351 regexp 149.4752+-0.3642 ? 149.7779+-0.4526 ? richards 168.1811+-0.3349 167.8198+-0.2328 splay 106.9681+-1.5036 ? 107.9561+-1.3623 ? <arithmetic> 133.7535+-0.3986 ? 134.2495+-0.4467 ? <geometric> * 127.0818+-0.4709 ? 127.4342+-0.4001 ? <harmonic> 120.7889+-0.5493 ? 121.0132+-0.3952 ? TipOfTree PredictFunc Kraken: ai-astar 896.1359+-1.0085 895.8207+-0.8926 audio-beat-detection 257.0216+-1.2096 255.7971+-1.0268 audio-dft 330.9272+-20.8776 315.8478+-4.9373 might be 1.0477x faster audio-fft 166.9879+-0.4969 ? 167.0918+-0.5274 ? audio-oscillator 351.5738+-1.2613 ? 353.4022+-2.5978 ? imaging-darkroom 402.9250+-5.4301 ? 403.7289+-5.3890 ? imaging-desaturate 291.2053+-0.0447 ? 291.2375+-0.1234 ? imaging-gaussian-blur 751.7957+-2.2305 751.2858+-1.1248 json-parse-financial 88.8598+-0.5030 ^ 87.0018+-0.0599 ^ definitely 1.0214x faster json-stringify-tinderbox 96.4554+-0.3616 ^ 95.4017+-0.3104 ^ definitely 1.0110x faster stanford-crypto-aes 138.4090+-0.8483 138.3940+-0.4388 stanford-crypto-ccm 137.4009+-0.5853 ? 138.2496+-0.7503 ? stanford-crypto-pbkdf2 283.0195+-2.3140 282.3200+-2.1872 stanford-crypto-sha256-iterative 118.0068+-0.4938 ! 119.3586+-0.2099 ! definitely 1.0115x slower <arithmetic> * 307.9088+-1.5475 306.7812+-0.5348 <geometric> 240.2929+-1.0974 239.2977+-0.3964 <harmonic> 193.7307+-0.5735 ^ 192.8179+-0.2686 ^ definitely 1.0047x faster TipOfTree PredictFunc All benchmarks: <arithmetic> 116.1989+-0.4660 115.9547+-0.1736 <geometric> 29.7540+-0.0933 ? 29.7733+-0.0847 ? <harmonic> 8.9361+-0.0417 ? 8.9510+-0.0459 ? TipOfTree PredictFunc Geomean of preferred means: <scaled-result> 68.5827+-0.1840 ? 68.6513+-0.1383 ?
Geoffrey Garen
Comment 3
2011-11-10 15:42:43 PST
Comment on
attachment 114586
[details]
the patch r=me
Filip Pizlo
Comment 4
2011-11-10 16:00:02 PST
Landed in
http://trac.webkit.org/changeset/99910
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug