Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/dictionary.cpp @ 47:2c106685d6d0
6497639: 4/3 Profiling Swing application caused JVM crash
Summary: Make RedefineClasses() interoperate better with class sharing.
Reviewed-by: sspitsyn, jmasa
author | dcubed |
---|---|
date | Wed, 12 Mar 2008 18:06:50 -0700 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
comparison
equal
deleted
inserted
replaced
2:7836be3e92d0 | 47:2c106685d6d0 |
---|---|
153 ik->external_name(), ik->previous_versions()->length())); | 153 ik->external_name(), ik->previous_versions()->length())); |
154 | 154 |
155 for (int i = ik->previous_versions()->length() - 1; i >= 0; i--) { | 155 for (int i = ik->previous_versions()->length() - 1; i >= 0; i--) { |
156 // check the previous versions array for GC'ed weak refs | 156 // check the previous versions array for GC'ed weak refs |
157 PreviousVersionNode * pv_node = ik->previous_versions()->at(i); | 157 PreviousVersionNode * pv_node = ik->previous_versions()->at(i); |
158 jweak cp_ref = pv_node->prev_constant_pool(); | 158 jobject cp_ref = pv_node->prev_constant_pool(); |
159 assert(cp_ref != NULL, "weak cp ref was unexpectedly cleared"); | 159 assert(cp_ref != NULL, "cp ref was unexpectedly cleared"); |
160 if (cp_ref == NULL) { | 160 if (cp_ref == NULL) { |
161 delete pv_node; | 161 delete pv_node; |
162 ik->previous_versions()->remove_at(i); | 162 ik->previous_versions()->remove_at(i); |
163 // Since we are traversing the array backwards, we don't have to | 163 // Since we are traversing the array backwards, we don't have to |
164 // do anything special with the index. | 164 // do anything special with the index. |