src/share/vm/opto/runtime.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/opto/runtime.cpp
src/share/vm/opto/runtime.cpp
Print this page
*** 218,228 ****
#endif
assert(check_compiled_frame(thread), "incorrect caller");
// These checks are cheap to make and support reflective allocation.
int lh = klass->layout_helper();
! if (Klass::layout_helper_needs_slow_path(lh) || !InstanceKlass::cast(klass)->is_initialized()) {
Handle holder(THREAD, klass->klass_holder()); // keep the klass alive
klass->check_valid_for_instantiation(false, THREAD);
if (!HAS_PENDING_EXCEPTION) {
InstanceKlass::cast(klass)->initialize(THREAD);
}
--- 218,230 ----
#endif
assert(check_compiled_frame(thread), "incorrect caller");
// These checks are cheap to make and support reflective allocation.
int lh = klass->layout_helper();
! if (!Klass::layout_helper_is_instance(lh) ||
! Klass::layout_helper_needs_slow_path(lh) ||
! !InstanceKlass::cast(klass)->is_initialized()) {
Handle holder(THREAD, klass->klass_holder()); // keep the klass alive
klass->check_valid_for_instantiation(false, THREAD);
if (!HAS_PENDING_EXCEPTION) {
InstanceKlass::cast(klass)->initialize(THREAD);
}
src/share/vm/opto/runtime.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File