[Nestmates] RFR Lookup.defineClass nest-host update
    Mandy Chung 
    mandy.chung at oracle.com
       
    Mon Nov  5 18:52:03 UTC 2018
    
    
  
Hi David,
On 11/4/18 11:03 PM, David Holmes wrote:
> webrev: 
> http://cr.openjdk.java.net/~dholmes/dynamic-nestmates/webrev.nest_host_update/ 
>
>
> Testing showed that the internal use of Class.getNestHost inside 
> Lookup.defineClass was not suitable as invalidly defined 
> nest-hosts/members resulted in an inappropriate nest-host being passed 
> into the the VM to set_nest_host (a class becomes it's own nest-host 
> if there are any validation errors). set_nest_host needs a valid 
> nest-host else we'll hit assertion failures.
>
> The solution was to pass the lookupClass through to the VM and have 
> jvm_lookup_define_class do a direct InstanceKlass::nest_host() lookup 
> that will throw exceptions if there are validation issues.
>
The fix looks fine to me.  The adjusted logging statement reads better, 
thanks.  Should we add a test for it?
Alternatively  we can keep JVM_LookupDefineClass to expect the lookup 
class parameter must be the nest host (that's the intent - do you see a 
check in the VM side to enforce that?).  The library will do the 
validation and pass a valid nest host to JVM entry point to keep it 
simple.   In that case perhaps JVM_GetNestHost can take an additional 
argument with exception or not.   Lois may have an opinion.
Mandy
    
    
More information about the valhalla-dev
mailing list