equal
deleted
inserted
replaced
1993 ResourceMark rm; |
1993 ResourceMark rm; |
1994 log_trace(class, fingerprint)("stored as " PTR64_FORMAT " for class %s", fingerprint, external_name()); |
1994 log_trace(class, fingerprint)("stored as " PTR64_FORMAT " for class %s", fingerprint, external_name()); |
1995 } |
1995 } |
1996 } |
1996 } |
1997 |
1997 |
1998 static void remove_unshareable_in_class(Klass* k) { |
|
1999 // remove klass's unshareable info |
|
2000 k->remove_unshareable_info(); |
|
2001 } |
|
2002 |
|
2003 void InstanceKlass::remove_unshareable_info() { |
1998 void InstanceKlass::remove_unshareable_info() { |
2004 Klass::remove_unshareable_info(); |
1999 Klass::remove_unshareable_info(); |
|
2000 |
|
2001 if (is_in_error_state()) { |
|
2002 // Classes are attempted to link during dumping and may fail, |
|
2003 // but these classes are still in the dictionary and class list in CLD. |
|
2004 // Check in_error state first because in_error is > linked state, so |
|
2005 // is_linked() is true. |
|
2006 // If there's a linking error, there is nothing else to remove. |
|
2007 return; |
|
2008 } |
|
2009 |
2005 // Unlink the class |
2010 // Unlink the class |
2006 if (is_linked()) { |
2011 if (is_linked()) { |
2007 unlink_class(); |
2012 unlink_class(); |
2008 } |
2013 } |
2009 init_implementor(); |
2014 init_implementor(); |
2014 |
2019 |
2015 for (int i = 0; i < methods()->length(); i++) { |
2020 for (int i = 0; i < methods()->length(); i++) { |
2016 Method* m = methods()->at(i); |
2021 Method* m = methods()->at(i); |
2017 m->remove_unshareable_info(); |
2022 m->remove_unshareable_info(); |
2018 } |
2023 } |
2019 |
|
2020 // do array classes also. |
|
2021 array_klasses_do(remove_unshareable_in_class); |
|
2022 } |
2024 } |
2023 |
2025 |
2024 static void restore_unshareable_in_class(Klass* k, TRAPS) { |
2026 static void restore_unshareable_in_class(Klass* k, TRAPS) { |
2025 // Array classes have null protection domain. |
2027 // Array classes have null protection domain. |
2026 // --> see ArrayKlass::complete_create_array_klass() |
2028 // --> see ArrayKlass::complete_create_array_klass() |