CDS allows mapping in objects to the Java heap from archives.
In particular, the constant pool can load in resolved_references from an archive.
If this installation of the archived oops happens during, e.g. G1 concurrent marking, then a SATB enqueue barrier is manually performed in order to register that this oop is now strongly reachable, which is a requirement for being allowed to add edges to the oop from the object graph during concurrent marking.
It would be neat if there was a more GC agnostic way of doing this through the Access API.
In particular, the constant pool can load in resolved_references from an archive.
If this installation of the archived oops happens during, e.g. G1 concurrent marking, then a SATB enqueue barrier is manually performed in order to register that this oop is now strongly reachable, which is a requirement for being allowed to add edges to the oop from the object graph during concurrent marking.
It would be neat if there was a more GC agnostic way of doing this through the Access API.
- relates to
-
JDK-8195107 CDS broken due to 8194741
-
- Resolved
-
-
JDK-8179302 Pre-resolve constant pool string entries and cache resolved_reference arrays in CDS archive
-
- Closed
-
-
JDK-8194759 Support caching class mirror objects
-
- Closed
-