13.10.2014 Views

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

189<br />

Figure 8.2: 201 compress Performance by Scoring Technique and Maximum Multicode<br />

Length with 67 Despecializations<br />

multicode substitution alone with the number of bytecode dispatch operations performed<br />

for the strategy that offered the best performance when multicode substitution<br />

was performed in the presence of despecialization.<br />

This analysis revealed that fewer dispatches were removed when multicodes were<br />

selected in the presence of despecialization for the 201 compress and 202 jess<br />

benchmarks. Interestingly, while performing despecialization increased the total number<br />

of transfers removed for 209 db and 222 mpegaudio, the reduction in the number<br />

of transfers was not sufficiently larger to overcome the increase in the number of<br />

transfers imposed by performing despecialization. As a result, performing despecialization<br />

also increased the total number of bytecode dispatch operations performed<br />

for these benchmarks. An overall decrease in the total number of transfers performed<br />

was only observed for 213 javac and 228 jack.<br />

8.4 Balancing Despecialization, Multicode Substitution<br />

and Performance<br />

An additional separate set of despecializations was also considered in conjunction with<br />

multicode substitution. Its goal was to offer the best possible performance without

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!