Proposal: Java Object Layout (jol)

Aleksey Shipilev aleksey.shipilev at
Wed Dec 4 08:54:49 PST 2013


I would like to propose another tool for inclusion into Code Tools
project. Please find the proposal below:


Tool Name:
Java Object Layout (jol)

Tool Purpose:
Java Object Layout (jol) is the minimalistic set of tools for analyzing
the object layout schemes in JVM.

Proposed By:
Aleksey Shipilev, Oracle, Java SE Performance team

Java Object Layout is the VM/GC introspection tool which helps to debug
and analyze the object/heap memory footprint, GC object layout, and
other intricate memory layout problems. There were a lot of cases where
major motivation for a code change was to affect the field layout (e.g.
@Contended, and generally concurrency), or fix a particular nastiness in
object layout (e.g. GC layout peculiarities). In many cases, people
needed a similar tool to explain the performance effect and motivation
for the JDK/VM change.

jol will help Contributors to do the due diligence prior the change,
without digging into the source code, or winding up with their own,
possibly broken, throw-away tools.

jol is bundled with runnable samples which explain quite a few things
about the layout schemes in current VMs. This frees low level JDK/VM
developers from having to memorize layout intricacies.



More information about the code-tools-dev mailing list