Ever since Java was introduced world wide, the execution performance has always been a problem. As one of the solutions, a bytecode instruction folding process for Java processors was developed in a PicoJava model and a Producer, Operator and Consumer (POC) model, but it could not handle certain types of instruction sequences. In this paper, a new instruction-folding scheme based on a new, advanced POC model is proposed and demonstrates improvement in bytecode execution. The proposed POC model is able to detect and fold all possible instruction sequence types dynamically in hardware, including a sequence that is separated by other bytecode instructions. SPEC JMV98 benchmark results show that the proposed POC model-based folder can save more than 90% of folding operations. In addition, a design of the proposed POC model-based folding process in hardware is much smaller and more efficient than traditional folding mechanisms.
Index Terms:
Instruction Folding, Stack, Java programming language, Java bytecode, Java processor, Java Virtual Machine (JVM)
Citation:
Austin Kim, Morris Chang, "Advanced POC Model-Based Java Instruction Folding Mechanism," euromicro, vol. 1, pp.1332, Proceedings of The 26th EUROMICRO Conference (EUROMICRO'00) Volume I-Volume 1, 2000