A study of the stack allocation policy on JIT Code Generator

JIT Code Generator 상의 스택할당 정책 적용에 관한 연구

  • 김효남 (청강문화산업대학 컴퓨터소프트웨어과)
  • Published : 2001.12.01

Abstract

The best solution to improve the execution speed of Java program is to make use of the high speed JVM(Java Virtual Machine). The performance of JVM depends on the difference of its implementation. One of the technologies to enhance JVM performance is a JIT(Just-in-Time) code generator. The JIT code generator transforms Java byte code to the native machine code in accordance with computer system platform. The native machine code is faster than the existing interpreter method, since it can reduce the time to analyze the Java byte code. But the JIT code generator have the problem of increasing the traffic between stack and register because of using many register. Therefore, this paper suggests how to reduce the traffic by applying the policy of stack allocation to JIT code generation, as one of the methods to enhance the performance of JVM.

자바프로그램의 실행속도를 빠르게 하는데 있어서 가장 좋은 방법은 빠른 자바가상머신(JVM : Java Virtual Machine)을 사용하는 것이다. 자바가상머신의 성능은 구현 차이에 따라 성능차이가 많이 난다. 자바가상머신을 구현하는데 있어서 가장 중요한 성능 향상의 기술은 JIT(Just-in-Time) 코드 생성기(Code Generator)이다. JIT 코드 생성기는 자바 바이트 코드를 플랫폼에 맞는 native machine code로 변환해 준다. 이 native code들은 자바가상머신에서 각 바이트 코드를 분석하는데 걸리는 시간을 단축할 수 있기 때문에 기존의 방식보다 빠르게 동작한다. 그러나 JIT 코드 생성기는 많은 레지스터를 사용하기 때문에 스택과 레지스터간의 traffic이 가중되는 문제가 있다. 그러므로 본 논문에서는 자바가상머신의 성능 향상을 위한 방안으로 효율적인 stack allocation 정책을 JIT 코드 생성기에 적용하여 레지스터와의 traffic을 감소시킬 수 있는 방안을 제시하였다.

Keywords