Automatic Object Inlining for the HotSpot Client Compiler
Projects > Compiler and JVM Research at JKU
We designed a feedback-directed optimization system for object inlining and array inlining that utilizes
the just-in-time compiler and the garbage collector. Object inlining reduces the costs of field accesses
by combining referenced objects with their referencing object. The order of objects on the heap is changed
by the garbage collector so that they are placed next to each other. Then their offset is fixed, i.e. the
objects are colocated. This allows field loads to be replaced by address arithmetic using the just-in-time
compiler. Array inlining expands the concepts of object inlining to arrays, which are frequently used for
the implementation of dynamic data structures. There are currently no plans to integrate this work into
the product version.
Publications
- Christian Wimmer, Hanspeter Mössenböck:
Automatic Feedback-Directed Object Fusing
In ACM Transactions on Architecture and Code Optimization (TACO), volume 7, issue 2, pp. 7:1-7:35, September 2010.
Summary paper that covers all parts of the optimization, but does not describe the algorithmic details.
Read this if you want to get familiar with the topic.
- Christian Wimmer:
Automatic Object Inlining in a Java Virtual Machine
PhD thesis, Institute for System Software, Johannes Kepler University Linz, 2008.
Describes the details of all algorithms and contains an extensive evaluation as well as a survey of
related work. Read this if you are interested in the implementation details.
- Christian Wimmer, Hanspeter Mössenböck:
Automatic Array Inlining in Java Virtual Machines
Intl. Symposium on Code Generation and Optimization (CGO'08), pp. 14-23.
ACM Press, 2008. doi:10.1145/1356058.1356061
Conference paper that covers only the array inlining part of the optimization system.
- Christian Wimmer, Hanspeter Mössenböck:
Automatic Feedback-Directed Object Inlining in the Java HotSpot™ Virtual Machine
ACM/USENIX Intl. Conf. on Virtual Execution Environments (VEE'07),
pp. 12-21. ACM Press, 2007. doi:10.1145/1254810.1254813
Conference paper that covers only the object inlining part of the optimization system.
- Christian Wimmer, Hanspeter Mössenböck:
Automatic Object Colocation Based on Read Barriers
Joint Modular Languages Conference (JMLC'06), LNCS 4228, pp. 326-345.
Springer-Verlag, 2006. doi:10.1007/11860990_20
Conference paper that covers only the object colocation part. It describes an early version of the work, so it does not fully reflect the final version.
|