Skip to content
Permalink
Browse files
8265689: JVMCI: InternalError: Class java.lang.Object does not implem…
…ent interface jdk.vm.ci.meta.JavaType

Co-authored-by: Doug Simon <dnsimon@openjdk.org>
Reviewed-by: kvn, thartmann
  • Loading branch information
Vladimir Ivanov and Doug Simon committed Apr 26, 2021
1 parent 0d08d73 commit 9647fb0dba7e44da6ed2e0ef05ae020dacd768bc
@@ -601,8 +601,9 @@ public static CompilerToVM compilerToVM() {
* {@link HotSpotVMConfig#invalidVtableIndex} if {@code method} is not in {@code type}'s
* v-table.
*
* @throws InternalError if {@code type} is an interface or {@code method} is not held by an
* interface or class represented by {@code type} is not initialized
* @throws InternalError if {@code type} is an interface, {@code method} is not defined by an
* interface, {@code type} does not implement the interface defining {@code method}
* or class represented by {@code type} is not initialized
*/
native int getVtableIndexForInterfaceMethod(HotSpotResolvedObjectTypeImpl type, HotSpotResolvedJavaMethodImpl method);

@@ -680,7 +680,7 @@ private int getVtableIndex(HotSpotResolvedObjectTypeImpl resolved) {
return config().invalidVtableIndex;
}
if (holder.isInterface()) {
if (resolved.isInterface() || !resolved.isLinked()) {
if (resolved.isInterface() || !resolved.isLinked() || !getDeclaringClass().isAssignableFrom(resolved)) {
return config().invalidVtableIndex;
}
return getVtableIndexForInterfaceMethod(resolved);

1 comment on commit 9647fb0

@openjdk-notifier

This comment has been minimized.

Copy link

@openjdk-notifier openjdk-notifier bot commented on 9647fb0 Apr 26, 2021

Please sign in to comment.