Thank you, John.

Best regards,
Vladimir Ivanov

On 6/16/14 10:07 PM, John Rose wrote:
Reviewed.  — John

On Jun 16, 2014, at 9:50 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> 
wrote:

http://cr.openjdk.java.net/~vlivanov/8046903/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8046903

j.l.i.InvokerBytecodeGenerator::isStaticallyInvocable doesn't distinguish 
between VM anonymous classes and ordinary classes. In some very specific 
circumstances (VM anonymous class declared in one of predefined core packages), 
it can consider a member of VM anonymous class as statically invocable and 
symbolically reference it from generated bytecode. It's wrong because such 
class can't be looked up by name and the attempt to run such code ends up with 
NoClassDefFoundError.

The fix is to disable static invocation for members of VM anonymous classes.

Testing: regression test.

Thanks!

Best regards,
Vladimir Ivanov

Reply via email to