ACM Home Page
Please provide us with feedback. Feedback
Effective null pointer check elimination utilizing hardware trap
Full text PdfPdf (307 KB)
Source Architectural Support for Programming Languages and Operating Systems archive
Proceedings of the ninth international conference on Architectural support for programming languages and operating systems table of contents
Cambridge, Massachusetts, United States
Pages: 139 - 149  
Year of Publication: 2000
ISBN:1-58113-317-0
Also published in ...
Authors
Motohiro Kawahito  IBM Tokyo Research Laboratory, 1623-14, Shimotsuruma, Yamato, Kanagawa, 242-8502, Japan
Hideaki Komatsu  IBM Tokyo Research Laboratory, 1623-14, Shimotsuruma, Yamato, Kanagawa, 242-8502, Japan
Toshio Nakatani  IBM Tokyo Research Laboratory, 1623-14, Shimotsuruma, Yamato, Kanagawa, 242-8502, Japan
Sponsor
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 30,   Citation Count: 19
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/378993.379234
What is a DOI?

ABSTRACT

We present a new algorithm for eliminating null pointer checks from programs written in Java™. Our new algorithm is split into two phases. In the first phase, it moves null checks backward, and it is iterated for a few times with other optimizations to eliminate redundant null checks and maximize the effectiveness of other optimizations. In the second phase, it moves null checks forward and converts many null checks to hardware traps in order to minimize the execution cost of the remaining null checks. As a result, it eliminates many null checks effectively and exploits the maximum use of hardware traps. This algorithm has been implemented in the IBM cross-platform Java Just-in-Time (JIT) compiler. Our experimental results show that our approach improves performance by up to 71% for jBYTEmark and up to 10% for SPECjvm98 over the previously known best algorithm. They also show that it increases JIT compilation time by only 2.3%. Although we implemented our algorithm for Java, it is also applicable for other languages requiring null checking.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
 
5
HotSpot homepage is http://java.sun.com/products/hotspot/.
6
7
8
9
 
10
11
 
12
Standard Performance Evaluation Corp. "SPEC JVM98 Benchmarks," http://www.spec.org/osg/jvm98/
 
13
 
14
J. Whaley. Dynamic optimization through the use of automatic runtime specialization. M.Eng., Massachusetts Institute of Technology, May 1999.
 
15

CITED BY  19

Collaborative Colleagues:
Motohiro Kawahito: colleagues
Hideaki Komatsu: colleagues
Toshio Nakatani: colleagues