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

Stefan Karlsson stefan.karlsson at oracle.com
Tue Jan 29 14:01:16 PST 2013


On 29 jan 2013, at 22:53, Jon Masamitsu <jon.masamitsu at oracle.com> wrote:

> Stefan,
> 
> Changes look correct.

Thanks.

> 
> 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.

No i didn't think about that. I just tried to mimic the VM code in the SA code. Would you prefer if I changed it to use your alternative solution?

thanks,
StefanK


> 
> 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