On 22 maj 2013, at 06:35, David Holmes <david.hol...@oracle.com> wrote:
> On 21/05/2013 11:56 PM, Coleen Phillimore wrote: >> >> On 05/21/2013 09:29 AM, Staffan Larsen wrote: >>> When doing heap iteration with JVMTI, the spec requires callbacks from >>> the VM to the agent identifying the signers and protection domain >>> references. This is what tagMap does, see jvmtiTagMap.cpp:2464. >>> >>> As long as it it still possible for JVMTI to find these references >>> (with ik->protection_domain() and ik->signers()), I think it's ok. >> >> Okay. Thanks for the quick answer. I was going to rip this out (rats, >> now I can't). I can get to both protection domain and signers through >> the mirror. >> >> We are working on moving the signers completely to the jdk and not >> having the jvm know about them at all. Then we can't find the signers >> through this interface. Should we file a CCC request to change the >> JVMTI spec then? > > You can access any Java object field from the JVM - you just need to add it > to java_classes.cpp :) I don't think you can just rip this out of the JVMTI > spec. I agree with David here - changing the JVMTI spec is not the solution. /Staffan > > David > ----- > >> >> Thanks, >> Coleen >> >>> >>> /Staffan >>> >>> >>> On 21 maj 2013, at 14:52, Coleen Phillimore >>> <coleen.phillim...@oracle.com> wrote: >>> >>>> I found during code review comment editing for my change that removes >>>> signers and protection domain from the InstanceKlass, that JVMTI code >>>> seems to have some sort of call back and knowledge of these fields in >>>> instanceKlass. >>>> >>>> </constant> >>>> <constant id="JVMTI_REFERENCE_SIGNERS" num="5"> >>>> Reference from a class to its signers array. >>>> </constant> >>>> <constant id="JVMTI_REFERENCE_PROTECTION_DOMAIN" num="6"> >>>> Reference from a class to its protection domain. >>>> >>>> >>>> If I remove these, will it cause incompatibilities? It's used >>>> during jvmtiTagMap.cpp (whatever that's doing). >>>> >>>> Thanks, >>>> Coleen >>