< prev index next >

src/hotspot/cpu/aarch64/gc/shared/modRefBarrierSetAssembler_aarch64.cpp

Print this page

28 
29 #define __ masm->
30 
31 void ModRefBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
32                                                    Register src, Register dst, Register count, RegSet saved_regs) {
33 
34   if (is_oop) {
35     gen_write_ref_array_pre_barrier(masm, decorators, dst, count, saved_regs);
36   }
37 }
38 
39 void ModRefBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
40                                                    Register start, Register count, Register tmp,
41                                                    RegSet saved_regs) {
42   if (is_oop) {
43     gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp, saved_regs);
44   }
45 }
46 
47 void ModRefBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
48                                          Address dst, Register val, Register tmp1, Register tmp2) {
49   if (is_reference_type(type)) {
50     oop_store_at(masm, decorators, type, dst, val, tmp1, tmp2);
51   } else {
52     BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2);
53   }
54 }

28 
29 #define __ masm->
30 
31 void ModRefBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
32                                                    Register src, Register dst, Register count, RegSet saved_regs) {
33 
34   if (is_oop) {
35     gen_write_ref_array_pre_barrier(masm, decorators, dst, count, saved_regs);
36   }
37 }
38 
39 void ModRefBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
40                                                    Register start, Register count, Register tmp,
41                                                    RegSet saved_regs) {
42   if (is_oop) {
43     gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp, saved_regs);
44   }
45 }
46 
47 void ModRefBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
48                                          Address dst, Register val, Register tmp1, Register tmp2, Register tmp3) {
49   if (is_reference_type(type)) {
50     oop_store_at(masm, decorators, type, dst, val, tmp1, tmp2, tmp3);
51   } else {
52     BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2, tmp3);
53   }
54 }
< prev index next >