Bharadwaj,

Makes me glad Remi brought up his concerns :-)

I like the additional checking. I wonder if you could possibly modify this to 
rename
the API to JVM_IsVMGeneratedMethodIx - since that might be clearer that this is 
has internal
vm meaning which is not related to any of the specifications on the constant 
pool etc.

That also might be still useful if we were to add additional vm generated 
methods in future
which are not specifically normal vs overpass.

thanks,
Karen

On Jan 18, 2013, at 9:37 AM, Bharadwaj Yadavalli wrote:

> Thanks to Remi, Dean and Karen for looking at the code changes.
> 
> Upon further contemplation, it seems to me that my initial proposed change 
> (http://cr.openjdk.java.net/~bharadwaj/8004967/webrev/) *might* incorrectly 
> trust bytecode in methods that were *not* VM generated and flag it as legal.
> 
> So, I have implemented, IMHO, a more robust/correct way to handle 
> verification of methods generated by the VM in the old verifier. This change 
> is consistent with  the way verification done on such methods in the (new) 
> split verifier (which I think is appropriate).
> 
> The new changes are in hotspot and jdk trees.
> 
> Please review the changes at 
> http://cr.openjdk.java.net/~bharadwaj/8004967/alt_impl
> 
> Hotspot tree changes : 
> http://cr.openjdk.java.net/~bharadwaj/8004967/alt_impl/hotspot/webrev/
> JDK tree changes : 
> http://cr.openjdk.java.net/~bharadwaj/8004967/alt_impl/jdk/webrev/
> 
> I ran JCK tests (vm, lang completed; api running), runThese and vm.quicklist 
> with no regressions.
> 
> Thanks,
> 
> Bharadwaj
> 
> On 1/16/2013 1:35 PM, Bharadwaj Yadavalli wrote:
>> Please review the change at 
>> http://cr.openjdk.java.net/~bharadwaj/8004967/webrev/
>> 
>> Default interface methods are new in Java 8. VM creates overpass methods in 
>> the vtable slots of classes to invoke a default method using invokespecial.
>> 
>> Consequently, invocation of default interface methods (i.e., overpass 
>> methods in the VM) via invokespecial is legal and should not be flagged as 
>> illegal.
>> 
>> In short, this change allows invocation of default methods of Java 8 using 
>> invokespecial.
>> 
>> I ran JCK (vm, lang, api) tests, runThese and vm.quicklist with no new 
>> failures.
>> 
>> Thanks,
>> 
>> Bharadwaj
>> 

Reply via email to