Title
Effective null pointer check elimination utilizing hardware trap
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.
Year
DOI
Venue
2000
10.1145/356989.357002
Special Interest Group on Computer Architecture
Keywords
Field
DocType
hardware trap,null pointer check,ibm cross-platform java just-in-time,jit compilation time,best algorithm,remaining null check,effective null pointer check,new algorithm,redundant null check,null checking,null check
Pointer (computer programming),Computer science,Parallel computing,Algorithm,Real-time computing,Compiler,Redundancy (engineering),Just-in-time compilation,Systems architecture,Computer hardware,Iterated function,Java
Conference
Volume
Issue
ISSN
35
11
0163-5964
ISBN
Citations 
PageRank 
1-58113-317-0
23
1.18
References 
Authors
10
3
Name
Order
Citations
PageRank
Motohiro Kawahito119713.92
Hideaki Komatsu241034.00
Toshio Nakatani374156.80