In this chapter we extend the machine JVM I to a JVM submachine JVM C which can execute compiled Java c programs. The extension consists in adding rules for handling class variables, and for method invocation and return. We introduce a submachine switchVM C which takes care of frame stack manipulations—upon method invocation or return and upon implicit class initialization—and which will be extended in switchVM E for frame manipulations due to capturing exceptions. We also extend the Java I -to-JVM I compilation scheme by translating the new Javac expressions and statements to JVM C code.
Unable to display preview. Download preview PDF.