An instruction folding solution for a Java processor
Java is widely applied into embedded devices and network applications. Java programs are compiled into Java bytecodes, which are executed in the Java virtual machine. The Java virtual machine is a stack machine and instruction folding is a technique to reduce the redundant stack operations. In this paper, a simple instruction folding algorithm is proposed for a Java processor named jHISC, where bytecodes are classified into five categories and the operation results of incomplete folding groups are held for further folding. In the benchmark JVM98, with respect to all stack operations, the percentage of the eliminated P and C type instructions varies from 87% to 98% and the average is about 93%. The reduced instructions are between 37% and 50% of all Operations and the average is 44%.
instruction folding java processor bytecode java virtual machine