RFR 8163969: Cyclic interface initialization causes JVM crash

David Holmes david.holmes at oracle.com
Mon Sep 19 06:46:51 UTC 2016

Hi Coleen,

As per our extensive emails discussions this looks good to me.

One query:

   bool InstanceKlass::link_class_impl(
       instanceKlassHandle this_k, bool throw_verifyerror, TRAPS) {
!   // check for error state. This is checking for the wrong state.
!   // If initialization_error, then this class *was* linked.

I'm assuming you are just flagging this for now and it will be fixed later.

One comment - in a fix I am working on 
has_default_methods/declares_default_methods will be renamed to 
has_nonstatic_concrete_methods/declares_nonstatic_concrete_methods as 
the use of the word "default" is inappropriate in those contexts as it 
applies to both default method and private interface methods.


On 17/09/2016 1:22 AM, Coleen Phillimore wrote:
> Summary: Fix interface initialization to follow spec: interface
> initializations do not set initialization state of interfaces that
> extend them.
> Tested with: all hotspot jtreg tests, co-located nsk tests,
> non-colocated nsk tests, and jck tests.
> open webrev at http://cr.openjdk.java.net/~coleenp/8163969.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8163969
> Thanks,
> Coleen

More information about the hotspot-runtime-dev mailing list