Skip to main content

Java Bytecode Optimization with Advanced Instruction Folding Mechanism

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1940))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

REFERENCES

  1. T. Halfhill, “Java Chips Boost Applet Speed,” Byte, pp.25, May 1996

    Google Scholar 

  2. A. Wolfe, “First Java-specific chip takes wing,” EETimes, Sep. 1997. (http://eet.com/news/97/973news/java.html)

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. H. McGhan and J. M. O'Connor, “PicoJava: A Direct Execution Engine For Java Bytecode,” Computer, pp. 22–30, Oct. 1998

    Google Scholar 

  6. Sun Microsystems, “PicoJava I Microprocessor Core Architecture,” White Paper, Nov. 1996

    Google Scholar 

  7. J. M. O'Connor and M. Tremblay, “PicoJava I: the Java Virtual Machine in Hardware,” IEEE Micro, pp 45–53, 1997

    Google Scholar 

  8. 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

    Google Scholar 

  9. N. Vijaykrishnan, N. Ranganathan and R. Gadekarla, “Object-Oriented Architectural Support for a Java Processor,” Proceedings of ECOOP’98, July 1998, pp. 330–354

    Google Scholar 

  10. J. Meyer and T. Downing, “Java Virtual Machine,” O'Reilly & Associates, 1997

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics