equal
deleted
inserted
replaced
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; |