src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp
changeset 55015 738285c4d1e1
parent 54766 1321f8cf9de5
child 55076 785a12e0f89b
equal deleted inserted replaced
55014:8b43726c1a47 55015:738285c4d1e1
   293 bool ShenandoahBarrierSetC2::is_shenandoah_wb_pre_call(Node* call) {
   293 bool ShenandoahBarrierSetC2::is_shenandoah_wb_pre_call(Node* call) {
   294   return call->is_CallLeaf() &&
   294   return call->is_CallLeaf() &&
   295          call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_ref_field_pre_entry);
   295          call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_ref_field_pre_entry);
   296 }
   296 }
   297 
   297 
   298 bool ShenandoahBarrierSetC2::is_shenandoah_wb_call(Node* call) {
   298 bool ShenandoahBarrierSetC2::is_shenandoah_lrb_call(Node* call) {
   299   return call->is_CallLeaf() &&
   299   return call->is_CallLeaf() &&
   300          call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_JRT);
   300          call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_JRT);
   301 }
   301 }
   302 
   302 
   303 bool ShenandoahBarrierSetC2::is_shenandoah_marking_if(PhaseTransform *phase, Node* n) {
   303 bool ShenandoahBarrierSetC2::is_shenandoah_marking_if(PhaseTransform *phase, Node* n) {
   470   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms+0, fields);
   470   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms+0, fields);
   471 
   471 
   472   return TypeFunc::make(domain, range);
   472   return TypeFunc::make(domain, range);
   473 }
   473 }
   474 
   474 
   475 const TypeFunc* ShenandoahBarrierSetC2::shenandoah_write_barrier_Type() {
   475 const TypeFunc* ShenandoahBarrierSetC2::shenandoah_load_reference_barrier_Type() {
   476   const Type **fields = TypeTuple::fields(1);
   476   const Type **fields = TypeTuple::fields(1);
   477   fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // original field value
   477   fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // original field value
   478   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields);
   478   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+1, fields);
   479 
   479 
   480   // create result type (range)
   480   // create result type (range)