RFR: 8224817: Implementation of JEP 364: ZGC on macOS
Erik Osterlund
erik.osterlund at oracle.com
Thu Oct 24 16:27:21 UTC 2019
Hi Per,
Thanks for the review.
/Erik
> On 24 Oct 2019, at 17:47, Per Liden <per.liden at oracle.com> wrote:
>
> 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