RFR 8003421: NPG: Move oops out of InstanceKlass into mirror
Coleen Phillimore
coleen.phillimore at oracle.com
Tue May 21 12:47:30 PDT 2013
Thanks Stefan, Staffan, Dean, and David for comments. I have a new
webrev and have tested this new change that doesn't break hprof format
in the SA and fixed things from the code reviews. I didn't move
component mirror. I have to think about this more. Please re-review.
http://cr.openjdk.java.net/~coleenp/8003421_2/
Thanks,
Coleen
On 05/21/2013 11:01 AM, Coleen Phillimore wrote:
>
> On 05/21/2013 09:18 AM, Staffan Larsen wrote:
>>>>> Net footprint change is zero except that these fields are in Java
>>>>> heap
>>>>> rather than metaspace. This helps a little with InstanceKlass size
>>>>> which is in fixed size space with UseCompressedKlassPointers.
>>>>> Included
>>>>> serviceability because there were SA changes to code that I don't
>>>>> know
>>>>> is used.
>>>> Unsure about the SA changes. Basically you just removed access to
>>>> the pd and signers, rather than changing it to allow access via the
>>>> new path. That said I don't know SA so don't know whether it makes
>>>> sense for SA to access things that are logically part of
>>>> java.lang.Class; or whether it can access them more directly anyway
>>>> because they are logically part of java.lang.Class.
>>>>
>>> I did remove these from instanceKlass. It doesn't appear in the SA
>>> that it digs into the java mirror so there was nowhere to put these
>>> fields. The code that I took out was in places that may not be
>>> used and may be bit rotted. I added serviceability team to the
>>> review request so someone could comment. I already asked Staffan
>>> about this.
>> Reading this in more detail, I'm a little worried about the change in
>> hprof output. The change in HeapHprofBinWriter actually breaks the
>> hprof binary format, leading to unparseable files. Granted, this is
>> hprof output when invoked either in SA or with "jmap -F" so it won't
>> be used by very many people and I can't find any tests that do this.
>>
>> I think we need to find a way to add this information back.
>
> Hi, I didn't want to break the hprof format so I added it back to
> return null for protection domain and signers. There doesn't seem to
> be a way in SA to read from the mirror but I posted suggested code
> once this sort of thing is implemented. See:
>
> http://cr.openjdk.java.net/~coleenp/8003421_2/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java.udiff.html
>
> http://cr.openjdk.java.net/~coleenp/8003421_2/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java.udiff.html
>
>
> I can file a bug against the SA to get the correct information or
> decide whether this is something you need to support in this manner.
>
> thanks,
> Coleen
>
>>
>> /Staffan
>
More information about the hotspot-runtime-dev
mailing list