- 특화 메소드를 이용한 확장된 널 포인터 검사 제거
- ㆍ 저자명
- 최형규,문수묵,Choi. Hyung-Kyu,Moon. Soo-Mook
- ㆍ 간행물명
- 정보과학회논문지. Journal of KIISE. 컴퓨팅의 실제 및 레터
- ㆍ 권/호정보
- 2012년|18권 3호|pp.209-213 (5 pages)
- ㆍ 발행정보
- 한국정보과학회
- ㆍ 파일정보
- 정기간행물| PDF텍스트
- ㆍ 주제분야
- 기타
기존 자바 가상 머신의 성능을 향상시키는 대표적인 기법들로 Just-in-time compiler와 Ahead-of-time compiler가 있다. 그리고 이러한 기법들은 전통적인 최적화 외에도 자바에 특화된 최적화 기법을 적용하여 효율적인 코드를 생성한다. 자바에 특화된 최적화 기법으로 대표적으로 널 포인터 검사 제거 기법이 있으며 이는 오래 전부터 자바 가상 머신에서는 필수적인 최적화로 여겨지며 그 성능 향상 또한 충분하다고 여겨졌다. 본 논문에서는 특수화(specialization) 기법을 도입하여 기존의 널 포인터 검사 기법을 확장하여 추가적으로 널 포인터 검사를 제거하는 기법을 제안하려고 한다. 그리고 이 기법은 기존의 널 포인터 검사 기법 자체를 수정하지 않아도 되며 Just-in-time compiler와 Ahead-of-time compiler에 모두 적용 가능하다. 실험 결과 메소드 호출이 많은 어플리케이션에서는 성능을 향상시킬 수 있었으며 일반적인 연산이 많은 어플리케이션에서도 일부 성능 향상을 얻을 수 있었다.
Just-in-time compilation (JITC) and ahead-of-time compilation (AOTC) has been proposed to improve the performance of Java virtual machine (JVM). These techniques adopt Java specific optimizations as well as traditional compiler optimizations. One of Java specific optimizations is a null pointer check elimination, which is considered to be a mandatory optimization in most JVM, since it can achieve noticeable performance improvement by eliminating redundant overhead of checking null pointers. In this paper, we propose an extended null pointer check elimination using specialization. The proposed technique extends the scope of existing null pointer check elimination and can eliminate additional null pointer checks. In addition, the proposed technique can be adopted to existing Just-in-time compiler and Ahead-of-time compiler, because it preserves the semantic of existing null pointer check elimination optimization. We observed meaningful performance improvement with benchmark programs as well as real applications after applying the proposed optimization.