Mercurial > hg > truffle
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/memory/metaspaceShared.cpp Thu Sep 19 08:47:46 2013 +0200 +++ b/src/share/vm/memory/metaspaceShared.cpp Fri Sep 20 09:30:02 2013 -0400 @@ -103,9 +103,10 @@ if (k->oop_is_instance()) { InstanceKlass* ik = InstanceKlass::cast(k); for (int i = 0; i < ik->methods()->length(); i++) { - ResourceMark rm; Method* m = ik->methods()->at(i); - (new Fingerprinter(m))->fingerprint(); + Fingerprinter fp(m); + // The side effect of this call sets method's fingerprint field. + fp.fingerprint(); } } }