< prev index next >

src/hotspot/share/opto/macro.cpp

Print this page

        

*** 2704,2720 **** Node* mask2 = MakeConX(-2); Node* masked2 = transform_later(new AndXNode(cast, mask2)); Node* rawklassptr = transform_later(new CastX2PNode(masked2)); Node* klass_node = transform_later(new CheckCastPPNode(allocation_ctl, rawklassptr, TypeKlassPtr::VALUE)); - Node* top_adr; - Node* end_adr; - Node* slowpath_bol = NULL; Node* old_top = NULL; Node* new_top = NULL; if (UseTLAB) { set_eden_pointers(top_adr, end_adr); Node* end = make_load(ctl, mem, end_adr, 0, TypeRawPtr::BOTTOM, T_ADDRESS); old_top = new LoadPNode(ctl, mem, top_adr, TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM, MemNode::unordered); transform_later(old_top); Node* layout_val = make_load(NULL, mem, klass_node, in_bytes(Klass::layout_helper_offset()), TypeInt::INT, T_INT); --- 2704,2719 ---- Node* mask2 = MakeConX(-2); Node* masked2 = transform_later(new AndXNode(cast, mask2)); Node* rawklassptr = transform_later(new CastX2PNode(masked2)); Node* klass_node = transform_later(new CheckCastPPNode(allocation_ctl, rawklassptr, TypeKlassPtr::VALUE)); Node* slowpath_bol = NULL; + Node* top_adr = NULL; Node* old_top = NULL; Node* new_top = NULL; if (UseTLAB) { + Node* end_adr = NULL; set_eden_pointers(top_adr, end_adr); Node* end = make_load(ctl, mem, end_adr, 0, TypeRawPtr::BOTTOM, T_ADDRESS); old_top = new LoadPNode(ctl, mem, top_adr, TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM, MemNode::unordered); transform_later(old_top); Node* layout_val = make_load(NULL, mem, klass_node, in_bytes(Klass::layout_helper_offset()), TypeInt::INT, T_INT);
*** 2725,2744 **** transform_later(slowpath_cmp); slowpath_bol = new BoolNode(slowpath_cmp, BoolTest::ge); transform_later(slowpath_bol); } else { slowpath_bol = intcon(1); old_top = top(); new_top = top(); } IfNode* slowpath_iff = new IfNode(allocation_ctl, slowpath_bol, PROB_UNLIKELY_MAG(4), COUNT_UNKNOWN); transform_later(slowpath_iff); Node* slowpath_true = new IfTrueNode(slowpath_iff); transform_later(slowpath_true); - CallStaticJavaNode* slow_call = new CallStaticJavaNode(OptoRuntime::store_value_type_fields_Type(), StubRoutines::store_value_type_fields_to_buf(), "store_value_type_fields", call->jvms()->bci(), TypePtr::BOTTOM); --- 2724,2743 ---- transform_later(slowpath_cmp); slowpath_bol = new BoolNode(slowpath_cmp, BoolTest::ge); transform_later(slowpath_bol); } else { slowpath_bol = intcon(1); + top_adr = top(); old_top = top(); new_top = top(); } IfNode* slowpath_iff = new IfNode(allocation_ctl, slowpath_bol, PROB_UNLIKELY_MAG(4), COUNT_UNKNOWN); transform_later(slowpath_iff); Node* slowpath_true = new IfTrueNode(slowpath_iff); transform_later(slowpath_true); CallStaticJavaNode* slow_call = new CallStaticJavaNode(OptoRuntime::store_value_type_fields_Type(), StubRoutines::store_value_type_fields_to_buf(), "store_value_type_fields", call->jvms()->bci(), TypePtr::BOTTOM);
< prev index next >