An analytical POC stack operations folding for continuous and discontinuous Java bytecodes

  • Authors:
  • Lee-Ren Ton;Lung-Chung Chang;Chung-Ping Chung

  • Affiliations:
  • Department of Computer Science and Information Engineering, National Chiao Tung University No. 1001, Dashiue Rd., 300 Hsinchu, Taiwan, ROC;Department of Computer Science and Information Engineering, National Chiao Tung University No. 1001, Dashiue Rd., 300 Hsinchu, Taiwan, ROC;Department of Computer Science and Information Engineering, National Chiao Tung University No. 1001, Dashiue Rd., 300 Hsinchu, Taiwan, ROC

  • Venue:
  • Journal of Systems Architecture: the EUROMICRO Journal
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The execution performance of a stack-based Java virtual machine (JVM) is limited by the true data dependency. To enhance the performance of the JVM, a stack operations folding mechanism for the picoJava-I/II processor was proposed by Sun Microsystems to fold 42.3% stack operations. By comparing the continuous bytecodes with pre-defined folding patterns in instruction decoder, the number of push/pop operations in between the operand stack and the local variable could be reduced. In this study, an enhanced POC (EPOC) folding model is proposed to further fold the discontinuous bytecodes that cannot be folded in continuous bytecodes folding mechanisms. By proposing a stack re-order buffer (SROB) to help the folding check processes, the EPOC folding model can fold the stack operations perfectly with a small size of SROB implementation. Statistical data shows that the four-foldable strategy of the EPOC folding model can eliminate 98.8% of push/pop operations with an instruction buffer size of 7 bytes and the SROB size of eight entries.