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