src/share/vm/oops/instanceKlass.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/oops/instanceKlass.cpp Wed Mar 2 14:04:34 2011
--- new/src/share/vm/oops/instanceKlass.cpp Wed Mar 2 14:04:32 2011
*** 733,743 ****
--- 733,748 ----
}
static int call_class_initializer_impl_counter = 0; // for debugging
methodOop instanceKlass::class_initializer() {
return find_method(vmSymbols::class_initializer_name(), vmSymbols::void_method_signature());
+ methodOop clinit = find_method(
+ vmSymbols::class_initializer_name(), vmSymbols::void_method_signature());
+ if (clinit != NULL && clinit->has_valid_initializer_flags()) {
+ return clinit;
+ }
+ return NULL;
}
void instanceKlass::call_class_initializer_impl(instanceKlassHandle this_oop, TRAPS) {
methodHandle h_method(THREAD, this_oop->class_initializer());
assert(!this_oop->is_initialized(), "we cannot initialize twice");
src/share/vm/oops/instanceKlass.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File