< prev index next >

src/hotspot/cpu/arm/gc/shared/modRefBarrierSetAssembler_arm.cpp

Print this page
rev 49916 : 8201786: Modularize interpreter GC barriers: leftovers for ARM32
Reviewed-by: enevill


  25 #include "precompiled.hpp"
  26 #include "asm/macroAssembler.inline.hpp"
  27 #include "gc/shared/modRefBarrierSetAssembler.hpp"
  28 
  29 #define __ masm->
  30 
  31 void ModRefBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
  32                                                    Register addr, Register count, int callee_saved_regs) {
  33 
  34   if (is_oop) {
  35     gen_write_ref_array_pre_barrier(masm, decorators, addr, count, callee_saved_regs);
  36   }
  37 }
  38 
  39 void ModRefBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
  40                                                    Register addr, Register count, Register tmp) {
  41   if (is_oop) {
  42     gen_write_ref_array_post_barrier(masm, decorators, addr, count, tmp);
  43   }
  44 }











  25 #include "precompiled.hpp"
  26 #include "asm/macroAssembler.inline.hpp"
  27 #include "gc/shared/modRefBarrierSetAssembler.hpp"
  28 
  29 #define __ masm->
  30 
  31 void ModRefBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
  32                                                    Register addr, Register count, int callee_saved_regs) {
  33 
  34   if (is_oop) {
  35     gen_write_ref_array_pre_barrier(masm, decorators, addr, count, callee_saved_regs);
  36   }
  37 }
  38 
  39 void ModRefBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
  40                                                    Register addr, Register count, Register tmp) {
  41   if (is_oop) {
  42     gen_write_ref_array_post_barrier(masm, decorators, addr, count, tmp);
  43   }
  44 }
  45 
  46 void ModRefBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  47                                          Address obj, Register new_val, Register tmp1, Register tmp2, Register tmp3, bool is_null) {
  48   if (type == T_OBJECT || type == T_ARRAY) {
  49     oop_store_at(masm, decorators, type, obj, new_val, tmp1, tmp2, tmp3, is_null);
  50   } else {
  51     BarrierSetAssembler::store_at(masm, decorators, type, obj, new_val, tmp1, tmp2, tmp3, is_null);
  52   }
  53 }
< prev index next >