< prev index next >
src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIMetaAccessContext.java
Print this page
*** 133,142 ****
--- 133,143 ----
/*
* The list enlarged so update the head.
*/
metadataRoots = list.getHead();
}
+ assert isRegistered(metaspaceObject);
}
protected ResolvedJavaType createClass(Class<?> javaClass) {
if (javaClass.isPrimitive()) {
JavaKind kind = JavaKind.fromJavaClass(javaClass);
*** 206,216 ****
class ChunkIterator<V> implements Iterator<V> {
ChunkIterator() {
currentChunk = head;
currentIndex = -1;
! findNext();
}
Object[] currentChunk;
int currentIndex;
V next;
--- 207,217 ----
class ChunkIterator<V> implements Iterator<V> {
ChunkIterator() {
currentChunk = head;
currentIndex = -1;
! next = findNext();
}
Object[] currentChunk;
int currentIndex;
V next;
*** 243,248 ****
--- 244,258 ----
}
}
}
+
+ synchronized boolean isRegistered(MetaspaceWrapperObject wrapper) {
+ for (WeakReference<MetaspaceWrapperObject> m : list) {
+ if (m != null && m.get() == wrapper) {
+ return true;
+ }
+ }
+ return false;
+ }
}
< prev index next >