src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp
changeset 55573 e709712a8188
parent 55554 46579c68f7f4
parent 55563 d56b192c73e9
child 55605 91050b1e0fe8
equal deleted inserted replaced
55557:657924d1e2ba 55573:e709712a8188
   543   Node *bol = igvn.transform(new BoolNode(cmp, BoolTest::ne))->as_Bool();
   543   Node *bol = igvn.transform(new BoolNode(cmp, BoolTest::ne))->as_Bool();
   544   IfNode* iff = igvn.transform(new IfNode(in_ctrl, bol, unlikely, COUNT_UNKNOWN))->as_If();
   544   IfNode* iff = igvn.transform(new IfNode(in_ctrl, bol, unlikely, COUNT_UNKNOWN))->as_If();
   545   Node* then = igvn.transform(new IfTrueNode(iff));
   545   Node* then = igvn.transform(new IfTrueNode(iff));
   546   Node* elsen = igvn.transform(new IfFalseNode(iff));
   546   Node* elsen = igvn.transform(new IfFalseNode(iff));
   547 
   547 
   548   Node* new_loadp = igvn.transform(new LoadBarrierSlowRegNode(then, in_mem, in_adr, in_val->adr_type(),
   548   Node* new_loadp = igvn.transform(new LoadBarrierSlowRegNode(then, in_adr, in_val,
   549                                                                     (const TypePtr*) in_val->bottom_type(), MemNode::unordered, barrier->is_weak()));
   549                                                               (const TypePtr*) in_val->bottom_type(), barrier->is_weak()));
   550 
   550 
   551   // Create the final region/phi pair to converge cntl/data paths to downstream code
   551   // Create the final region/phi pair to converge cntl/data paths to downstream code
   552   Node* result_region = igvn.transform(new RegionNode(3));
   552   Node* result_region = igvn.transform(new RegionNode(3));
   553   result_region->set_req(1, then);
   553   result_region->set_req(1, then);
   554   result_region->set_req(2, elsen);
   554   result_region->set_req(2, elsen);
   670       assert(0, "There should be no load barriers left");
   670       assert(0, "There should be no load barriers left");
   671     case Op_ZGetAndSetP:
   671     case Op_ZGetAndSetP:
   672     case Op_ZCompareAndExchangeP:
   672     case Op_ZCompareAndExchangeP:
   673     case Op_ZCompareAndSwapP:
   673     case Op_ZCompareAndSwapP:
   674     case Op_ZWeakCompareAndSwapP:
   674     case Op_ZWeakCompareAndSwapP:
   675     case Op_LoadBarrierSlowReg:
       
   676 #ifdef ASSERT
   675 #ifdef ASSERT
   677       if (VerifyOptoOopOffsets) {
   676       if (VerifyOptoOopOffsets) {
   678         MemNode *mem = n->as_Mem();
   677         MemNode *mem = n->as_Mem();
   679         // Check to see if address types have grounded out somehow.
   678         // Check to see if address types have grounded out somehow.
   680         const TypeInstPtr *tp = mem->in(MemNode::Address)->bottom_type()->isa_instptr();
   679         const TypeInstPtr *tp = mem->in(MemNode::Address)->bottom_type()->isa_instptr();