comparison src/share/vm/memory/metaspaceShared.cpp @ 12281:4f9a42c33738

8022887: Assertion hit while using class and redefining it with RedefineClasses simultaneously Summary: Need to refetch each method from InstanceKlass after all safepoints. Removed leaky PreviousVersionInfo code. Reviewed-by: dcubed, sspitsyn
author coleenp
date Fri, 20 Sep 2013 09:30:02 -0400
parents 740e263c80c6
children 63a4eb8bcd23 9c3dc501b5eb
comparison
equal deleted inserted replaced
12279:6eb908998b32 12281:4f9a42c33738
101 for (int i = 0; i < _global_klass_objects->length(); i++) { 101 for (int i = 0; i < _global_klass_objects->length(); i++) {
102 Klass* k = _global_klass_objects->at(i); 102 Klass* k = _global_klass_objects->at(i);
103 if (k->oop_is_instance()) { 103 if (k->oop_is_instance()) {
104 InstanceKlass* ik = InstanceKlass::cast(k); 104 InstanceKlass* ik = InstanceKlass::cast(k);
105 for (int i = 0; i < ik->methods()->length(); i++) { 105 for (int i = 0; i < ik->methods()->length(); i++) {
106 ResourceMark rm;
107 Method* m = ik->methods()->at(i); 106 Method* m = ik->methods()->at(i);
108 (new Fingerprinter(m))->fingerprint(); 107 Fingerprinter fp(m);
108 // The side effect of this call sets method's fingerprint field.
109 fp.fingerprint();
109 } 110 }
110 } 111 }
111 } 112 }
112 } 113 }
113 114