RFR: 8229027: Improve how JNIHandleBlock::oops_do distinguishes oops from non-oops
Erik Österlund
erik.osterlund at oracle.com
Tue Aug 6 13:04:54 UTC 2019
Hi,
In JNIHandleBlock::oops_do(), the blocks may contain free list next
pointers or oops. The distinction is detected by asking the
CollectedHeap if the pointer value is in the heap reserve or not.
This forces GCs to have one single contiguous heap reservation, without
holes in it, which seems like an unnecessary restriction (and
effectively blocks a ZGC mac port).
This patch removes this reliance by tagging the free list next pointers
instead, allowing the distinction between oops and freelist pointers
based on the low order bit value.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8229027
Webrev:
http://cr.openjdk.java.net/~eosterlund/8229027/webrev.00/
Thanks,
/Erik
More information about the hotspot-runtime-dev
mailing list