- 00100 0 [ 8] Pinned Mask
- 01000 0  Old Mask
- 10000 0  Archive Mask
- 11100 0  Open Archive: ArchiveMask | PinnedMask | OldMask
- 11100 1  Archive : ArchiveMask | PinnedMask | OldMask + 1
Objects within the region are 'pinned', which means GC does not move any live objects. GC scans and marks objects in the pinned region as normal, but skips forwarding live objects. Pointers in live objects are updated. Dead objects (unreachable) can be collected and freed.
Currently, only objects for shared classes from the builtin class loaders (boot, PlatformClassLoaders, and AppClassLoaders) are supported for caching.
New/Updated GC APIs
Runtime Java Heap With Cached Java Objects
The closed archive regions (the string regions) and open archive regions are mapped to the runtime java heap at the same offsets as the dump time offsets from the runtime java heap base.