RFR JDK-8181425: Reflection API defend against issues with internal VM derived value type
    Maurizio Cimadamore 
    maurizio.cimadamore at oracle.com
       
    Wed Jun 21 08:25:48 UTC 2017
    
    
  
That's great - thanks Mandy. One last thing (which can also be addressed 
as a followup changeset) - it seems like the:
MinimalValueTypes_1_0.classHasValueType
method is basically just an heavy alias for the new 'isValueCapable' 
predicate - which also attempts to load the class. I wonder if we 
wouldn't be better off simply using the predicate, which seems less 
heavy as it doesn't strictly require generation/loading of DVT. Although 
I can imagine that if a client calls that method, he'll be interested in 
the DVT anyway.
That said, from an API perspective, having one method instead of two 
slightly different one is better, so we should aim for it, I think.
[but, as I said before, the changeset you have looks good enough to be 
pushed - so it's up to you whether you wanna try it now or later, ok? ]
Thanks
Maurizio
On 21/06/17 03:26, Mandy Chung wrote:
>> On Jun 20, 2017, at 4:19 PM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
>>
>> The new version looks good - I wonder if we should add a dual method called isValueCapable(Class<?>) and use that for the assertion check? The method would look at the class, retrieve the @VCC annotation and return true if one such annotation exists.
>>
>> As things stand, it is possible to pass classes to the loadValueClassType that are not VCC but which fail to trigger the assertion check.
>>
>> Probably a nitpick - but since we're tweaking in this area…
>>
> I added the isValueCapable method and made further clean up that I think
> MinimalValueTypes_1_0 Valueclass is clearer.
>
> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8181425/webrev.01/index.html
>
> Mandy
    
    
More information about the valhalla-dev
mailing list