RFR: 8224815: Remove non-GC uses of CollectedHeap::is_in_reserved()
Stefan Karlsson
stefan.karlsson at oracle.com
Thu Aug 29 13:07:17 UTC 2019
Hi Erik,
On 2019-08-09 09:43, Erik Österlund wrote:
> Hi,
>
> The CollectedHeap::is_in_reserved() function assumes the GC has a
> contiguous heap. This might not be the case, and hence the shared code
> should not make assumptions about that. It should use
> CollectedHeap::is_in() instead.
>
> However, CompressedOops inherently assumes the heap is contiguous, so I
> let it know about the reserved region.
>
> This patch depends on 8229278 and 8229189, which are both out for review
> right now.
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8224815
>
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8224815/webrev.00/
I think this looks good, but have a few cleanups that I'd like to suggest:
http://cr.openjdk.java.net/~stefank/8224815/webrev.01.review.00/
1) Changed some parameters to accept void* to get rid of some casts
2) Replaced address with HeapWord* in GC code.
3) Moved the code that was moved to initialize_reserved_region and moved
it into Universe::reserve_heap. I could therefore restore the location
of the initialize_reserved_region calls. Fixed a test that relied on the
logging order.
4) Moved the heap address range MemRegion out of NarrowPtrStruct into
CompressedOops
5) Replaced some DEBUG_ONLY with NOT_DEBUG_RETURN.
6) Minor cleanups
I ran this through tier1.
It's a bit annoying that we still have CollectedHeap::_reserved, but I
understand why you left it for now. However, I see that the
Serviceability Agent uses that field. Did you think about if that
affects ZGC support in SA in any way?
Thanks,
StefanK
>
> Thanks,
> /Erik
More information about the hotspot-dev
mailing list