src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp
changeset 58802 808bbdb79916
parent 58690 294fe0fef773
child 58819 ef8be51fff48
equal deleted inserted replaced
58800:dc5d2d009d60 58802:808bbdb79916
   295   return call->is_CallLeaf() &&
   295   return call->is_CallLeaf() &&
   296          call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_ref_field_pre_entry);
   296          call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_ref_field_pre_entry);
   297 }
   297 }
   298 
   298 
   299 bool ShenandoahBarrierSetC2::is_shenandoah_lrb_call(Node* call) {
   299 bool ShenandoahBarrierSetC2::is_shenandoah_lrb_call(Node* call) {
   300   return call->is_CallLeaf() &&
   300   if (!call->is_CallLeaf()) {
   301           call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier);
   301     return false;
       
   302   }
       
   303 
       
   304   address entry_point = call->as_CallLeaf()->entry_point();
       
   305   return (entry_point == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier)) ||
       
   306          (entry_point == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_fixup)) ||
       
   307          (entry_point == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_fixup_narrow)) ||
       
   308          (entry_point == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_native));
   302 }
   309 }
   303 
   310 
   304 bool ShenandoahBarrierSetC2::is_shenandoah_marking_if(PhaseTransform *phase, Node* n) {
   311 bool ShenandoahBarrierSetC2::is_shenandoah_marking_if(PhaseTransform *phase, Node* n) {
   305   if (n->Opcode() != Op_If) {
   312   if (n->Opcode() != Op_If) {
   306     return false;
   313     return false;