WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
70668
DFG inlining sometimes fails to reset constant references
https://bugs.webkit.org/show_bug.cgi?id=70668
Summary
DFG inlining sometimes fails to reset constant references
Filip Pizlo
Reported
2011-10-21 20:25:51 PDT
And it sometimes resets them even though it doesn't have to. The logic of resetting constant references should be moved out of parseBlock(), into a separate method, and should be called when a new block is created.
Attachments
the patch
(6.21 KB, patch)
2011-10-21 20:48 PDT
,
Filip Pizlo
andersca
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2011-10-21 20:48:08 PDT
Created
attachment 112064
[details]
the patch This is generally neutral although it does have some interesting fluctuations that may be worth investigating in the future. Benchmark report for SunSpider, V8, and Kraken. VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc "ConstReset" at /Volumes/Data/pizlo/septenary/OpenSource/WebKitBuild/Release/jsc 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 ConstReset SunSpider: 3d-cube 7.3697+-0.1885 7.3289+-0.1415 3d-morph 7.7265+-0.1192 ? 7.7378+-0.1193 ? 3d-raytrace 7.6756+-0.1582 7.5050+-0.1473 might be 1.0227x faster access-binary-trees 1.7548+-0.0548 ? 1.7575+-0.0609 ? access-fannkuch 6.5196+-0.1179 6.5059+-0.1434 access-nbody 3.5707+-0.0558 ? 3.6066+-0.0595 ? might be 1.0101x slower access-nsieve 2.5743+-0.0709 ? 2.6457+-0.0577 ? might be 1.0277x slower bitops-3bit-bits-in-byte 1.3013+-0.0298 ? 1.3021+-0.0274 ? bitops-bits-in-byte 2.4103+-0.0260 2.3469+-0.0654 might be 1.0270x faster bitops-bitwise-and 3.4038+-0.1058 ? 3.4435+-0.0980 ? might be 1.0117x slower bitops-nsieve-bits 5.3452+-0.1058 ? 5.4549+-0.1053 ? might be 1.0205x slower controlflow-recursive 2.1495+-0.0436 2.1068+-0.0419 might be 1.0203x faster crypto-aes 7.4158+-0.1735 7.4076+-0.1559 crypto-md5 2.7533+-0.0667 ? 2.8819+-0.2392 ? might be 1.0467x slower crypto-sha1 2.4421+-0.0576 ? 2.4994+-0.0617 ? might be 1.0234x slower date-format-tofte 10.0696+-0.2276 ? 10.1237+-0.1775 ? date-format-xparb 9.4134+-0.2859 ? 9.5952+-0.2443 ? might be 1.0193x slower math-cordic 7.5517+-1.1382 6.5432+-0.1072 might be 1.1541x faster math-partial-sums 7.6746+-0.1174 ? 7.7438+-0.1316 ? math-spectral-norm 2.5707+-0.0578 ? 2.6218+-0.0599 ? might be 1.0199x slower regexp-dna 11.4736+-0.1521 ? 11.7047+-0.1798 ? might be 1.0201x slower string-base64 4.4023+-0.1100 ? 4.4344+-0.1046 ? string-fasta 6.3179+-0.1273 ? 6.4466+-0.0765 ? might be 1.0204x slower string-tagcloud 11.7143+-0.2527 11.5438+-0.2062 might be 1.0148x faster string-unpack-code 20.5107+-0.3544 20.3937+-0.2201 string-validate-input 5.2263+-0.0780 ? 5.2982+-0.1235 ? might be 1.0137x slower <arithmetic> * 6.2053+-0.0459 6.1915+-0.0270 <geometric> 5.0059+-0.0332 ? 5.0118+-0.0273 ? <harmonic> 4.0049+-0.0254 ? 4.0191+-0.0299 ? TipOfTree ConstReset V8: crypto 74.8418+-0.4605 74.7426+-0.3154 deltablue 176.9986+-1.5209 ! 182.5245+-2.7802 ! definitely 1.0312x slower earley-boyer 94.6350+-1.8084 94.4009+-1.6468 raytrace 61.7280+-0.5734 ^ 60.5946+-0.5558 ^ definitely 1.0187x faster regexp 106.1436+-0.4098 ^ 105.2642+-0.2244 ^ definitely 1.0084x faster richards 145.7465+-3.0841 142.3034+-0.5496 might be 1.0242x faster splay 95.0169+-0.5543 ^ 94.0349+-0.3270 ^ definitely 1.0104x faster <arithmetic> 107.8729+-0.4137 107.6950+-0.5193 <geometric> * 101.8415+-0.3820 101.3519+-0.4472 <harmonic> 96.4127+-0.3657 95.7241+-0.4252 TipOfTree ConstReset Kraken: ai-astar 501.7759+-2.3059 ? 505.1881+-3.9941 ? audio-beat-detection 197.0312+-2.5677 196.1807+-1.7175 audio-dft 271.7374+-3.5796 ? 272.6768+-2.4040 ? audio-fft 125.6273+-0.5593 ? 125.8057+-0.5705 ? audio-oscillator 283.1211+-31.4860 253.8578+-1.2954 might be 1.1153x faster imaging-darkroom 404.2532+-1.7140 ? 406.2973+-3.6529 ? imaging-desaturate 222.0366+-0.6368 ? 222.2356+-0.7487 ? imaging-gaussian-blur 563.3645+-1.8204 ? 564.6778+-1.8245 ? json-parse-financial 58.3606+-0.3201 ? 58.7054+-0.5319 ? json-stringify-tinderbox 68.9683+-0.4043 ! 70.1906+-0.4180 ! definitely 1.0177x slower stanford-crypto-aes 133.2210+-1.7591 ? 133.7263+-4.4229 ? stanford-crypto-ccm 103.4855+-0.8125 103.2851+-1.0559 stanford-crypto-pbkdf2 196.1213+-2.8207 ? 198.2128+-2.4398 ? might be 1.0107x slower stanford-crypto-sha256-iterative 71.9108+-0.4195 ? 72.0350+-0.4113 ? <arithmetic> * 228.6439+-2.3124 227.3625+-0.7480 <geometric> 179.9488+-1.3376 179.3734+-0.7063 <harmonic> 141.5599+-0.5082 ? 141.7610+-0.5971 ? TipOfTree ConstReset All benchmarks: <arithmetic> 87.6056+-0.6634 87.1898+-0.2779 <geometric> 22.7894+-0.0946 22.7666+-0.0863 <harmonic> 7.0532+-0.0438 ? 7.0772+-0.0515 ? TipOfTree ConstReset Geomean of preferred means: <scaled-result> 52.4719+-0.1849 52.2530+-0.1425
Filip Pizlo
Comment 2
2011-10-21 20:58:10 PDT
Landed in
http://trac.webkit.org/changeset/98188
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