Review request: 8004710: NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal
Jon Masamitsu
jon.masamitsu at oracle.com
Wed Jan 30 08:17:11 PST 2013
Comment below.
On 1/29/2013 2:01 PM, Stefan Karlsson wrote:
> 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?
Scrap the alternate fix suggestion but I'd suggest changing the name
intArrayHeaderSize
to
minFillerArraySize
What caught my eye about this change is that it was hard
to understand the use of intArrayHeaderSize unless you knew
that tlab's had filler arrays inserted in them to make them
parsable and hotspot saved room at the end of each tlab so
that a filler object could always be inserted. If you
make the name change that give the reader a clue to that.
Ship it.
Jon
> 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