Design of Translator for Efficient Stack Based Codes from 3-Address Codes in CTOC

CTOC에서 3주소 코드를 효율적인 스택 기반 코드로의 변환기 설계

  • 김영국 (인하대학교 컴퓨터 정보공학과) ;
  • 김기태 (인하대학교 컴퓨터 정보공학과) ;
  • 조선문 (인하대학교 컴퓨터 정보공학과) ;
  • 김웅식 (인하대학교 컴퓨터 정보공학과) ;
  • 유원희 (인하대학교 컴퓨터 정보공학과)
  • Published : 2004.10.01

Abstract

자바는 객체 지향 언어이고, 분산 환경을 지원하고, 플랫폼에 독립적인 장정을 갖지만 다른 C나 C++같은 컴파일언어에 비해서는 실행속도가 느리다는 단점을 가진다. 이러한 단점을 극복하기 위한 방법으로 네이티브 코드로의 변환, 코드 최적화, JIT 컴파일 방법 등을 이용한다. 그러나 이전 방법들은 다음과 같은 한계점을 가진다. 클래스 파일을 네이티브 코드로의 변환은 플랫폼의 종속되고, 코드 최적화 방법은 고유의 최적화 방법만을 적용할 수 있었고, JIT컴파일 방법은 한 번의 실행 후 다음 실행해야 속도향상을 꾀할 수 있었다. 본 논문은 바이트 코드를 최적화하기 위한 자바최적화 프레임워크를 설명하고 자바최적화 프레임워크의 구성을 하는 부분 중 3주소형식의 중간코드를 스택기반 코드로 변환하는 부분을 설계하고. 3주소 코드로 변환한 중간 코드를 스택 기반 코드로 변환하면서 생기는 과다한 load/store의 문제점을 지적하고 그것을 해결할 수 있는 변환기를 제안한다.

Keywords