RFR 8003421: NPG: Move oops out of InstanceKlass into mirror

David Holmes david.holmes at oracle.com
Mon May 20 20:42:51 PDT 2013


On 21/05/2013 12: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.

But you can access those fields from the VM regardless - just as we 
access a bunch of fields in the Java level objects.

That said having these as injected fields hides them in the VM, so no 
issue with reflective access etc.

David

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