src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp
changeset 55563 d56b192c73e9
parent 55541 700ef5241888
child 55573 e709712a8188
child 55601 cba615623d09
equal deleted inserted replaced
55562:2f464d628942 55563:d56b192c73e9
   538   Node *bol = igvn.transform(new BoolNode(cmp, BoolTest::ne))->as_Bool();
   538   Node *bol = igvn.transform(new BoolNode(cmp, BoolTest::ne))->as_Bool();
   539   IfNode* iff = igvn.transform(new IfNode(in_ctrl, bol, unlikely, COUNT_UNKNOWN))->as_If();
   539   IfNode* iff = igvn.transform(new IfNode(in_ctrl, bol, unlikely, COUNT_UNKNOWN))->as_If();
   540   Node* then = igvn.transform(new IfTrueNode(iff));
   540   Node* then = igvn.transform(new IfTrueNode(iff));
   541   Node* elsen = igvn.transform(new IfFalseNode(iff));
   541   Node* elsen = igvn.transform(new IfFalseNode(iff));
   542 
   542 
   543   Node* new_loadp = igvn.transform(new LoadBarrierSlowRegNode(then, in_mem, in_adr, in_val->adr_type(),
   543   Node* new_loadp = igvn.transform(new LoadBarrierSlowRegNode(then, in_adr, in_val,
   544                                                                     (const TypePtr*) in_val->bottom_type(), MemNode::unordered, barrier->is_weak()));
   544                                                               (const TypePtr*) in_val->bottom_type(), barrier->is_weak()));
   545 
   545 
   546   // Create the final region/phi pair to converge cntl/data paths to downstream code
   546   // Create the final region/phi pair to converge cntl/data paths to downstream code
   547   Node* result_region = igvn.transform(new RegionNode(3));
   547   Node* result_region = igvn.transform(new RegionNode(3));
   548   result_region->set_req(1, then);
   548   result_region->set_req(1, then);
   549   result_region->set_req(2, elsen);
   549   result_region->set_req(2, elsen);
   665       assert(0, "There should be no load barriers left");
   665       assert(0, "There should be no load barriers left");
   666     case Op_ZGetAndSetP:
   666     case Op_ZGetAndSetP:
   667     case Op_ZCompareAndExchangeP:
   667     case Op_ZCompareAndExchangeP:
   668     case Op_ZCompareAndSwapP:
   668     case Op_ZCompareAndSwapP:
   669     case Op_ZWeakCompareAndSwapP:
   669     case Op_ZWeakCompareAndSwapP:
   670     case Op_LoadBarrierSlowReg:
       
   671 #ifdef ASSERT
   670 #ifdef ASSERT
   672       if (VerifyOptoOopOffsets) {
   671       if (VerifyOptoOopOffsets) {
   673         MemNode *mem = n->as_Mem();
   672         MemNode *mem = n->as_Mem();
   674         // Check to see if address types have grounded out somehow.
   673         // Check to see if address types have grounded out somehow.
   675         const TypeInstPtr *tp = mem->in(MemNode::Address)->bottom_type()->isa_instptr();
   674         const TypeInstPtr *tp = mem->in(MemNode::Address)->bottom_type()->isa_instptr();