src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp
changeset 58273 08a5148e7c4e
parent 58219 bc0648405d67
child 58407 b14643d898d3
equal deleted inserted replaced
58272:e27564cd10e3 58273:08a5148e7c4e
   315   }
   315   }
   316 }
   316 }
   317 
   317 
   318 void ShenandoahBarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
   318 void ShenandoahBarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
   319                                             Register dst, Address src, Register tmp1, Register tmp_thread) {
   319                                             Register dst, Address src, Register tmp1, Register tmp_thread) {
   320   bool on_oop = type == T_OBJECT || type == T_ARRAY;
   320   bool on_oop = is_reference_type(type);
   321   bool not_in_heap = (decorators & IN_NATIVE) != 0;
   321   bool not_in_heap = (decorators & IN_NATIVE) != 0;
   322   bool on_weak = (decorators & ON_WEAK_OOP_REF) != 0;
   322   bool on_weak = (decorators & ON_WEAK_OOP_REF) != 0;
   323   bool on_phantom = (decorators & ON_PHANTOM_OOP_REF) != 0;
   323   bool on_phantom = (decorators & ON_PHANTOM_OOP_REF) != 0;
   324   bool on_reference = on_weak || on_phantom;
   324   bool on_reference = on_weak || on_phantom;
   325   bool keep_alive = (decorators & AS_NO_KEEPALIVE) == 0;
   325   bool keep_alive = (decorators & AS_NO_KEEPALIVE) == 0;
   350   }
   350   }
   351 }
   351 }
   352 
   352 
   353 void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
   353 void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
   354                                              Address dst, Register val, Register tmp1, Register tmp2) {
   354                                              Address dst, Register val, Register tmp1, Register tmp2) {
   355   bool on_oop = type == T_OBJECT || type == T_ARRAY;
   355   bool on_oop = is_reference_type(type);
   356   if (!on_oop) {
   356   if (!on_oop) {
   357     BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2);
   357     BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2);
   358     return;
   358     return;
   359   }
   359   }
   360 
   360