RFR(S) 8209361: [AOT] Unexpected number of references for JVMTI_HEAP_REFERENCE_CONSTANT_POOL [111-->111]: 0 (expected at least 1)
dean.long at oracle.com
dean.long at oracle.com
Fri Aug 31 00:20:56 UTC 2018
https://bugs.openjdk.java.net/browse/JDK-8209361
http://cr.openjdk.java.net/~dlong/8209361/webrev/
Some JCK vm/jvmti/FollowReferences tests fail with AOT. This is because
code generated by JIT and AOT compilers might not resolve constant pool
entries. Making the compiled code resolve constant pool entries would
hurt performance. As far as I can tell, the JVMTI FollowReferences API
is the only place this is visible, so I went with a localized fix. The
fix looks at unresolved constant pool entries and treats them as
resolved if the class is loaded and accessible. Some entries can appear
to be resolved early, but this is allowed by the JVM spec, and it meets
all the requirements of a resolved symbolic reference (it will always
return the same concrete class value, JVM spec section 5.4.3).
dl
More information about the hotspot-dev
mailing list