< prev index next >
src/hotspot/share/opto/parse1.cpp
Print this page
@@ -2116,23 +2116,11 @@
assert(method()->holder()->is_being_initialized(), "barrier not needed");
set_parse_bci(0);
Node* holder = makecon(TypeKlassPtr::make(method()->holder()));
- int init_state_off = in_bytes(InstanceKlass::init_state_offset());
- const Type* t = TypeKlassPtr::make(method()->holder(), init_state_off);
- Node* adr = basic_plus_adr(top(), holder, init_state_off);
- Node* init_state = make_load(control(), adr, TypeInt::BYTE, T_BYTE, MemNode::unordered);
-
- Node* fully_initialized_state = makecon(TypeInt::make(InstanceKlass::fully_initialized));
-
- Node* chk = gvn().transform(new CmpINode(init_state, fully_initialized_state));
- Node* tst = gvn().transform(new BoolNode(chk, BoolTest::ne));
-
- { BuildCutout unless(this, tst, PROB_MAX);
- uncommon_trap(Deoptimization::Reason_initialized, Deoptimization::Action_reinterpret);
- }
+ guard_klass_being_initialized(holder);
}
// Add check to deoptimize if RTM state is not ProfileRTM
void Parse::rtm_deopt() {
#if INCLUDE_RTM_OPT
< prev index next >