RFR(XL): 6312651: Compiler should only use verified interface types for optimization

Roland Westrelin rwestrel at redhat.com
Thu Jun 27 08:19:15 UTC 2019


Hi Vladimir,

> I started looking into the patch.
>
> Instead of doing high-level review first, I rebased the patch to jdk/jdk 
> tip and initial round of testing spotted the following problems:

Excellent. Thank you.

> (2) Numerous test failures:
> #  Internal Error (src/hotspot/share/opto/type.cpp:3696), pid=75399, 
> tid=43267
> #  assert(!ik->is_interface()) failed: no interface here

Does it fail that way with a test I can run?

> (3) Unloaded classes in signatures trigger the following assert:

Same as above, can I reproduce it?

> (4) runtime/Unsafe/AllocateInstance.java
> java.lang.AssertionError: Should throw InstantiationException for an 
> interface
> 	at AllocateInstance.testInterface(AllocateInstance.java:71)
> 	at AllocateInstance.main(AllocateInstance.java:81)
> 	at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
> 	at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
> 	at 
> com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
> 	at java.base/java.lang.Thread.run(Thread.java:830)

That one runs fine with no option or -Xcomp. Does it need any specific
option to fail?

Thanks for investigating failures and suggesting work arounds. I'd like
to understand failures better though.

Roland.


More information about the hotspot-compiler-dev mailing list