RFR (XS) JDK-8214275: CondyRepeatFailedResolution asserts "Dynamic constant has no fixed basic type"

Lois Foltan lois.foltan at oracle.com
Tue Dec 4 12:23:23 UTC 2018


Please review this small fix to handle a failed dynamic constant 
resolution tag within GenerateOopMap::do_ldc().  This issue only happens 
for a debug build.  The purpose of the test is to repeatedly try to 
resolve a CONSTANT_Dynamic that has failed resolution with a 
LinkageError in order to ensure that the bootstrap method for the condy 
is never reexecuted after the first failed attempt.  See JVMS section 
5.4.3.  Within the ASSERT conditional of GenerateOopMap::do_ldc(), it 
must check for a CONSTANT_Dynamic tag as well as a 
CONSTANT_DynamicInError tag.  If either tag is present, 
constantTag::basic_type() should not be called.

open webrev at http://cr.openjdk.java.net/~lfoltan/bug_jdk8214275.1/webrev/
bug link at https://bugs.openjdk.java.net/browse/JDK-8214275

Testing: hs-tier1-3, jdk-tier1-3 (complete), hs-tier4-8 (in progress for 
linux-x64-debug)
                CondyRepeatFailedResolution.java test repeat 100x on 
solaris-sparcv9-debug

Thanks,
Lois


More information about the hotspot-runtime-dev mailing list