Mercurial > hg > truffle
comparison src/share/vm/classfile/systemDictionary.cpp @ 10268:43083e670adf
8005056: NPG: Crash after redefining java.lang.Object
Summary: Need to walk array class vtables replacing old methods too if j.l.o redefined
Reviewed-by: sspitsyn, dcubed, ctornqvi
author | coleenp |
---|---|
date | Mon, 13 May 2013 15:37:08 -0400 |
parents | 800078be49d2 |
children | f2110083203d |
comparison
equal
deleted
inserted
replaced
10267:8b40495b9381 | 10268:43083e670adf |
---|---|
1745 // Don't iterate over placeholders | 1745 // Don't iterate over placeholders |
1746 void SystemDictionary::classes_do(void f(Klass*, ClassLoaderData*)) { | 1746 void SystemDictionary::classes_do(void f(Klass*, ClassLoaderData*)) { |
1747 dictionary()->classes_do(f); | 1747 dictionary()->classes_do(f); |
1748 } | 1748 } |
1749 | 1749 |
1750 // All classes, and their class loaders | |
1751 // (added for helpers that use HandleMarks and ResourceMarks) | |
1752 // Don't iterate over placeholders | |
1753 void SystemDictionary::classes_do(void f(Klass*, ClassLoaderData*, TRAPS), TRAPS) { | |
1754 dictionary()->classes_do(f, CHECK); | |
1755 } | |
1756 | |
1757 void SystemDictionary::placeholders_do(void f(Symbol*)) { | 1750 void SystemDictionary::placeholders_do(void f(Symbol*)) { |
1758 placeholders()->entries_do(f); | 1751 placeholders()->entries_do(f); |
1759 } | 1752 } |
1760 | 1753 |
1761 void SystemDictionary::methods_do(void f(Method*)) { | 1754 void SystemDictionary::methods_do(void f(Method*)) { |