JEP draft: [Lilliput] Remove mark word from objects

OwnerJohn Rose
TypeFeature
ScopeJDK
StatusDraft
Componenthotspot / runtime
Created2018/02/17 03:34
Updated2022/06/20 12:27
Issue8198331

Investigate downsizing average object size by removing (or downsizing) the mark word from the oopDesc layout.

DRAFT DRAFT DRAFT

The 64-bit mark word can be used for several purposes:

There are well-known alternative representations for all of these mechanisms which do not use the 64-bit object header.

For example:

If we could remove mark words from all objects, the density of the heap would go up by a significant factor, basically (1+8/S), where S is the average object size; since S is typically something like 30-50 bytes (including arrays, which may be quite large), the overhead of mark words can often be a double-digit percentage.