Abstract
The execution performance of Java has been a problem since it was introduced world wide. 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. Although the instruction folding process in these models saved extra stack operations, 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, 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. In this research, the proposed instruction folding technique can eliminate most of the stack operations and the use of a physical operand stack, and can thereby achieve the performance of high-end RISC processors.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
REFERENCES
T. Halfhill, “Java Chips Boost Applet Speed,” Byte, pp.25, May 1996
A. Wolfe, “First Java-specific chip takes wing,” EETimes, Sep. 1997. (http://eet.com/news/97/973news/java.html)
A. Kim and J. M. Chang, “Designing a Java Microprocessor Core using FPGA Technology,” Proceedings of IEEE International ASIC Conference, pp. 13–17, Sep. 1998
A. Kim, Q. Yang and J. M. Chang, “Static Java Class Loader for Embedded Java Architecture,” Proceedings of CASES99 Conference, pp. 129–133, Sep. 1998
H. McGhan and J. M. O'Connor, “PicoJava: A Direct Execution Engine For Java Bytecode,” Computer, pp. 22–30, Oct. 1998
Sun Microsystems, “PicoJava I Microprocessor Core Architecture,” White Paper, Nov. 1996
J. M. O'Connor and M. Tremblay, “PicoJava I: the Java Virtual Machine in Hardware,” IEEE Micro, pp 45–53, 1997
L. Ton, L. Chang, M. Kao, H. Tseng, S. Shang, R. Ma, D. Wang, and C. Chung, “Instruction Folding in Java Processor,” Proceedings of the International Conference on Parallel and Distributed Systems — ICPADS, 1997, pp. 138–143
N. Vijaykrishnan, N. Ranganathan and R. Gadekarla, “Object-Oriented Architectural Support for a Java Processor,” Proceedings of ECOOP’98, July 1998, pp. 330–354
J. Meyer and T. Downing, “Java Virtual Machine,” O'Reilly & Associates, 1997
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, A., Chang, M. (2000). Java Bytecode Optimization with Advanced Instruction Folding Mechanism. In: Valero, M., Joe, K., Kitsuregawa, M., Tanaka, H. (eds) High Performance Computing. ISHPC 2000. Lecture Notes in Computer Science, vol 1940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39999-2_24
Download citation
DOI: https://doi.org/10.1007/3-540-39999-2_24
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41128-4
Online ISBN: 978-3-540-39999-5
eBook Packages: Springer Book Archive