RFR: 8224817: Implementation of JEP 364: ZGC on macOS
erik.osterlund at oracle.com
erik.osterlund at oracle.com
Thu Oct 24 10:38:37 UTC 2019
Hi,
Now that some curling has been performed, paving way for this patch:
8229027: Improve how JNIHandleBlock::oops_do distinguishes oops
from non-oops
8229278: Improve hs_err location printing to assume less about GC
internals
8229189: Improve JFR leak profiler tracing to deal with
discontiguous heaps
8224815: Remove non-GC uses of CollectedHeap::is_in_reserved()
8224820: ZGC: Support discontiguous heap reservations
...the remaining thing to do is plugging in a few platform specific ZGC
files. This patch does that.
Decided to go with mach_vm_map/mach_vm_remap to implement multi-mapping.
Previously I didn't want to do that as I couldn't figure out how to
mach_vm_remap memory on top of reserved VA (acquired using mmap). But
apparently VM_FLAGS_OVERWRITE was the missing ingredient there. With
that in place, dodging the terrible ftruncate implementation on macOS
seemed like a good idea. That also implies this port supports large
pages (unlike other GCs on macOS today). Yay!
CR:
http://cr.openjdk.java.net/~eosterlund/8224817/webrev.00/
Bug:
https://bugs.openjdk.java.net/browse/JDK-8229358
Thanks,
/Erik
More information about the hotspot-gc-dev
mailing list