Mercurial > hg > graal-jvmci-8
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 } |