RFR(xs): 8196920: VerifierTest_1A.java and VerifierTest_1B.java fail: assert(receiver_klass->is_subtype_of(static_receiver_klass))
David Holmes
david.holmes at oracle.com
Wed Feb 14 01:48:44 UTC 2018
Hi Calvin,
Changes look good to me.
Aside: why does this test have unnecessary {} scopes ??
Thanks,
David
On 14/02/2018 9:23 AM, Calvin Cheung wrote:
> JBS: https://bugs.openjdk.java.net/browse/JDK-8196920
> (sorry, the bug was marked confidential)
>
> webrev: http://cr.openjdk.java.net/~ccheung/8196920/webrev.00/
> (the above change was suggested by Ioi)
>
> By design, the test created a unverifiable class:
>
> Expected exception:
> java.lang.VerifyError: Call to wrong <init> method
> Exception Details:
> Location:
> UnverifiableBase.<clinit>()V @4: invokespecial
> Reason:
> Type 'java/lang/Object' (constant pool 4) is not assignable to
> 'VerifierTest0' (constant pool 14)
>
> Due to some recent changes, the test doesn't work with the following vm
> options combination in hs-tier4 testing:
> -Xcomp -XX:-TieredCompilation -Xverify:none
> and resulting in assert in sharedRuntime.cpp:
> assert(receiver_klass->is_subtype_of(static_receiver_klass)) failed:
> actual receiver must be subclass of static receiver klass
>
> A fix is to replace the above with a "bad" method which will never be
> executed during runtime:
>
> Expected exception:
> java.lang.VerifyError: Operand stack underflow
> Exception Details:
> Location:
> UnverifiableBase.bad()V @0: areturn
> Reason:
> Attempt to pop empty stack.
>
> thanks,
> Calvin
More information about the hotspot-runtime-dev
mailing list