RFR 8071657:JDI ObjectReferenceImpl.invokeMethod() validation fails for virtual invocations of method with declaring type being an interface

Staffan Larsen staffan.larsen at oracle.com
Wed Feb 18 09:09:48 UTC 2015


InterfaceMethodsTest.java:386 Is the ObjectReference.INVOKE_SINGLE_THREADED really needed or should you just pass 0 here?

Thanks,
/Staffan

> On 6 feb 2015, at 15:54, Jaroslav Bachorik <jaroslav.bachorik at oracle.com> wrote:
> 
> Please, review the following change in JDI implementation
> 
> Issue : https://bugs.openjdk.java.net/browse/JDK-8071657
> Webrev: http://cr.openjdk.java.net/~jbachorik/8071657/webrev.00
> 
> After JDK-8042123 has been integrated it became possible to make non-virtual calls to interface default or static methods via JDI.
> 
> Unfortunately, when a virtual invocation of a method with its declaring type being an interface is attempted it fails validation. The code fails to distinguish virtual and non-virtual calls and always fails for non-default methods.
> 
> The solution is to check to check for the call being non-virtual before enforcing the method to be default.
> 
> Thanks,
> 
> -JB-



More information about the serviceability-dev mailing list