Review request: 8004710: NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal

Jon Masamitsu jon.masamitsu at oracle.com
Tue Jan 29 13:53:17 PST 2013


Stefan,

Changes look correct.

Did you consider calculating the value for endReserve() all
in the VM (similar to the way ReserveForAllocationPrefetch
is calculated during initialization) and passing the value
to the SA the way ReserveForAllocationPrefetch is passed?
If ReserveForAllocationPrefetch is not used anywhere else,
you could substitute it (TLabEndReserve as a possible name)
for ReserveForAllocationPrefetch.

Jon

On 01/29/13 02:58, Stefan Karlsson wrote:
> http://cr.openjdk.java.net/~stefank/8004710/webrev/
>
> This bug is in the GC specific code in the SA agent.
>
> From the bug report:
> There's a bug in ObjectHeap.collectLiveRegions(), which tries to 
> collect the regions of the heap that contain live objects. It removes 
> the [top, end) regions of a TLAB, since we don't have live objects in 
> those regions. Unfortunately, this doesn't consider the small 
> alignment_reserve() part at the end of the TLAB, and we try to decode 
> an object in that unused memory region.
>
> It's not related to the PermGen removal, but the failure mode was 
> probably changed.
>
> thanks,
> StefanK
>


More information about the hotspot-dev mailing list