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

Jaroslav Bachorik jaroslav.bachorik at oracle.com
Fri Feb 6 14:54:21 UTC 2015


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