[9] RFR (XS): 8046903: VM anonymous class members can't be statically invocable (original) (raw)
Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Jun 17 09:06:35 UTC 2014
- Previous message: [9] RFR (XS): 8046903: VM anonymous class members can't be statically invocable
- Next message: [OpenJDK 2D-Dev] JDK-8041679 Replace uses of StringBuffer with StringBuilder within the JDK
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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.ivanov at 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
- Previous message: [9] RFR (XS): 8046903: VM anonymous class members can't be statically invocable
- Next message: [OpenJDK 2D-Dev] JDK-8041679 Replace uses of StringBuffer with StringBuilder within the JDK
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]