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*)) {