comparison jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIMetaAccessContext.java @ 23673:7ef84c807bfe

8159010: [JVMCI] crashes with class redefinition
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 07 Jun 2016 17:45:03 -0700
parents 1d4ce2d19e52
children d995c88d9cd9
comparison
equal deleted inserted replaced
23672:480da86e95e9 23673:7ef84c807bfe
133 /* 133 /*
134 * The list enlarged so update the head. 134 * The list enlarged so update the head.
135 */ 135 */
136 metadataRoots = list.getHead(); 136 metadataRoots = list.getHead();
137 } 137 }
138 assert isRegistered(metaspaceObject);
138 } 139 }
139 140
140 protected ResolvedJavaType createClass(Class<?> javaClass) { 141 protected ResolvedJavaType createClass(Class<?> javaClass) {
141 if (javaClass.isPrimitive()) { 142 if (javaClass.isPrimitive()) {
142 JavaKind kind = JavaKind.fromJavaClass(javaClass); 143 JavaKind kind = JavaKind.fromJavaClass(javaClass);
206 class ChunkIterator<V> implements Iterator<V> { 207 class ChunkIterator<V> implements Iterator<V> {
207 208
208 ChunkIterator() { 209 ChunkIterator() {
209 currentChunk = head; 210 currentChunk = head;
210 currentIndex = -1; 211 currentIndex = -1;
211 findNext(); 212 next = findNext();
212 } 213 }
213 214
214 Object[] currentChunk; 215 Object[] currentChunk;
215 int currentIndex; 216 int currentIndex;
216 V next; 217 V next;
243 } 244 }
244 245
245 } 246 }
246 247
247 } 248 }
249
250 synchronized boolean isRegistered(MetaspaceWrapperObject wrapper) {
251 for (WeakReference<MetaspaceWrapperObject> m : list) {
252 if (m != null && m.get() == wrapper) {
253 return true;
254 }
255 }
256 return false;
257 }
248 } 258 }