Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Automatic array inlining in Java virtual machines
Wimmer C., Mössenböck H.  CGO 2008 (Proceedings of the 6th Annual IEEE/ACM International Symposium on Code Generation and Optimization, Boston, MA, Apr 5-9, 2008)14-23.2008.Type:Proceedings
Date Reviewed: Jun 10 2009

Object field access is usually implemented through pointers, adding indirection costs that increase linearly with object nesting. Under various assumptions, colocating the containing and contained objects can replace expensive pointer chasing with cheap address indexing [1]. A contained array can be similarly colocated with its containing object, with similar expected benefits. However, an array’s dynamic behavior differs from other objects’ dynamic behavior, requiring stronger assumptions and more sophisticated colocation. This paper describes how to colocate arrays with containing objects.

Dynamic array resizing is the problem; a modified array bounds check, in combination with garbage collector help, provides the solution. The solution generalizes the handling of array field reassignments, an advantage not available to nonarray object colocation. Replacing the indirection to array elements by either global analysis or, for some languages, the lack of element type information is complicated. Array colocation is automatic, requiring no explicit programmer action.

Experiments with a Java HotSpot virtual machine (VM) augmented with array colocation shows a 10 percent average improved peak performance, with a 25 percent maximum improvement on SPECjvm98 benchmarks; the more complex DaCapo benchmarks show more modest, low single-digit percentage improvements. The data also shows that array colocation has low analysis and compilation overhead.

The paper is well written, complete, and easy to read, requiring a modest knowledge of basic addressing optimizations and object implementation details.

Reviewer:  R. Clayton Review #: CR136937 (1010-1033)
1) Wimmer, C.; Mössenböck, H. Automatic feedback-directed object inlining in the Java HotSpot virtual machine. In ACM/Usenix International Conference on Virtual Execution Environments ACM Press, 2007, 12–21.
Bookmark and Share
 
Compilers (D.3.4 ... )
 
 
Classes And Objects (D.3.3 ... )
 
 
Object Representation (E.2 ... )
 
 
Object-Oriented Constructs (F.3.3 ... )
 
 
Optimization (D.3.4 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Compilers": Date
An architecture for combinator graph reduction
Philip John J., Academic Press Prof., Inc., San Diego, CA, 1990. Type: Book (9780124192409)
Feb 1 1992
Crafting a compiler with C
Fischer C., Richard J. J., Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1991. Type: Book (9780805321661)
Feb 1 1992
A methodology and notation for compiler front end design
Brown C., Paul W. J. Software--Practice & Experience 14(4): 335-346, 1984. Type: Article
Jun 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy