RFR 8003421: NPG: Move oops out of InstanceKlass into mirror
Dean Long
dean.long at oracle.com
Mon May 20 20:41:49 PDT 2013
On 5/20/2013 7:50 PM, Coleen Phillimore wrote:
> On 5/20/2013 8:42 PM, Dean Long wrote:
>> It seems like you could take this opportunity to make these declared
>> fields of java.lang.Class,
>> allowing, for example, getProtectionDomain0() to be a simple Java
>> method instead of a native method.
>
> We actually use the protection domain and init_lock from within the
> vm, so we want to be able to see it. Signers can be moved out
> eventually though.
>
The VM can already see Java fields. You would just need to initialize
_protection_domain_offset using compute_offset() like we do for other
fields. Java fields would also have the advantage of working with the
new @Contended annotation, which probably doesn't work for injected
fields. However for backwards compatability with an older class library
you could use compute_optional_offset() and inject the field only if
it's missing.
dl
> Thanks,
> Coleen
>
>>
>> dl
>>
>> On 05/20/2013 03:39 PM, Coleen Phillimore wrote:
>>> Summary: Inject protection_domain, signers, init_lock into
>>> java_lang_Class
>>>
>>> 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.
>>>
>>> Future work is to remove the signers field and the unused
>>> SetProtectionDomain function.
>>>
>>> open webrev at http://cr.openjdk.java.net/~coleenp/8003421/
>>> bug link at http://bugs.sun.com/view_bug.do?bug_id=8003421
>>>
>>> Tested with vm.quick.testlist, JPRT, jtreg java/security tests and
>>> jck8 tests.
>>>
>>> Thanks,
>>> Coleen
>>
>
More information about the serviceability-dev
mailing list