RFR: Humongous regions should support explicit pinning

Aleksey Shipilev shade at redhat.com
Wed Nov 29 19:12:31 UTC 2017


http://cr.openjdk.java.net/~shade/shenandoah/humongous-pinning/webrev.01/

Another stepping stone for humongous object moves: we need to handle pinning explicitly. That is,
when humongous regions moves are allowed, humongous-pinned should still be unmovable. We can handle
the humongous_start-s for simplicity, leaving continuations implicit, as pinning/unpinning
continuations is the logic error anyway. Experimental option reverts the humongous behavior back to
"legacy" behavior. It is now "false", but subsequent changes would flip that option to "true".

As the added benefit, this also mechanically checks that no pinned humongous region can be reclaimed
without first being unpinned -- something that is implicitly handled by retaining the reference to
that humongous region object via JNI handle, but still fragile in my mind.

Testing: hotspot_gc_shenandoah (fastdebug)

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list