RFR (s) 8159470: Error message for ICCE for MethodHandle constant pool not helpful

David Holmes david.holmes at oracle.com
Mon Jun 20 04:24:48 UTC 2016


Hi Coleen,

Hi Coleen,

On 18/06/2016 12:58 AM, Coleen Phillimore wrote:
> Summary: Reworded message and added test.
>
> Caused by: java.lang.IncompatibleClassChangeError: Inconsistent constant
> pool data in classfile for class WithConfiguration. Method
> lambda$autoDetect$0()Ljava/lang/String; at index 26 is
> JVM_CONSTANT_MethodRef and should be JVM_CONSTANT_InterfaceMethodRef
>
> Added test because the existing tests didn't cover this code path.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/8159470.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8159470

Nit: why did you get rid of the parentheses here:

!       if ((callee->is_interface() && m_tag.is_method()) ||

Otherwise functional change looks fine.

In the test what is the relationship between BootstrapMethodError and 
the expected ICCE?

Thanks,
David

> Ran nightly tests.
>
> Thanks,
> Coleen


More information about the hotspot-runtime-dev mailing list