RFR: 8224817: Implementation of JEP 364: ZGC on macOS

Per Liden per.liden at oracle.com
Thu Oct 24 15:47:38 UTC 2019


Hi,

On 10/24/19 12:38 PM, erik.osterlund at oracle.com wrote:
> 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/

As I've pre-reviewed this code, all my comments have already been 
addressed. Looks super!

/Per

> 
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8229358
> 
> Thanks,
> /Erik



More information about the hotspot-gc-dev mailing list