# HG changeset patch # User Gilles Duboscq # Date 1400339065 -7200 # Node ID 7260016882ef700f73803f3ac641fa9ac4d243d4 # Parent 920b7bb058a67d8390e6616eddea61424a8c9dbb fix assert in HotSpotResolvedJavaMethod.vtableEntryOffset diff -r 920b7bb058a6 -r 7260016882ef graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java Sat May 17 16:29:19 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java Sat May 17 17:04:25 2014 +0200 @@ -595,7 +595,7 @@ * @return the offset of this method into the v-table */ public int vtableEntryOffset(ResolvedJavaType resolved) { - guarantee(isInVirtualMethodTable(resolved) && holder.isInitialized(), "%s does not have a vtable entry", this); + guarantee(isInVirtualMethodTable(resolved), "%s does not have a vtable entry", this); HotSpotVMConfig config = runtime().getConfig(); final int vtableIndex = getVtableIndex(resolved); return config.instanceKlassVtableStartOffset + vtableIndex * config.vtableEntrySize + config.vtableEntryMethodOffset; @@ -607,6 +607,9 @@ } private int getVtableIndex(ResolvedJavaType resolved) { + if (!holder.isLinked()) { + return runtime().getConfig().invalidVtableIndex; + } if (holder.isInterface()) { if (resolved.isArray() || resolved.isInterface()) { return runtime().getConfig().invalidVtableIndex;