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.

212<br />

Chapter 10<br />

Future Work<br />

The previous chapters in this thesis have described explorations performed into despecialization<br />

and multicode substitution. While these studies have covered many topics<br />

within those areas, additional questions remain to be answered which are outside of<br />

the scope of this thesis. Possible areas of closely related future work are described in<br />

the following sections.<br />

10.1 Despecialization<br />

The primary areas of future research within despecialization include considering the<br />

impact of additional despecializations which have not yet been tested and considering<br />

the impact of despecialization in additional computing environments. Each of these<br />

areas is discussed in further detail in the following subsections.<br />

10.1.1 Evaluating the Impact of 76 Despecializations<br />

The despecialization research conducted during this thesis identified a total of 76<br />

specialized bytecodes that can be expressed in terms of one, or a short sequence of<br />

other general purpose Java bytecodes. However, performance testing has only been<br />

considered for 67 of these bytecodes.<br />

Additional work must be conducted in order to determine if performing the remaining<br />

despecializations will have any negative impact on the correctness or verifiability<br />

of Java class files. The three typecast bytecodes i2b, i2c and i2s must be<br />

given special consideration with respect to verifiability. The modifications performed<br />

by i2b, i2c and i2s to values on the stack can easily be expressed in terms of a<br />

logical operations and constant values. Furthermore, these bytecodes do not throw

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

Saved successfully!

Ooh no, something went wrong!