src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp
changeset 53519 74a5ef4c81cc
parent 52925 9c18c9d839d3
child 54423 6c0ab8bd8da5
equal deleted inserted replaced
53518:2181425e0460 53519:74a5ef4c81cc
    62   void read_barrier_not_null_impl(MacroAssembler* masm, Register dst);
    62   void read_barrier_not_null_impl(MacroAssembler* masm, Register dst);
    63 
    63 
    64   void write_barrier(MacroAssembler* masm, Register dst);
    64   void write_barrier(MacroAssembler* masm, Register dst);
    65   void write_barrier_impl(MacroAssembler* masm, Register dst);
    65   void write_barrier_impl(MacroAssembler* masm, Register dst);
    66 
    66 
    67   void storeval_barrier(MacroAssembler* masm, Register dst, Register tmp);
       
    68   void storeval_barrier_impl(MacroAssembler* masm, Register dst, Register tmp);
    67   void storeval_barrier_impl(MacroAssembler* masm, Register dst, Register tmp);
    69 
    68 
    70   address generate_shenandoah_wb(StubCodeGenerator* cgen);
    69   address generate_shenandoah_wb(StubCodeGenerator* cgen);
    71 
    70 
    72   void save_vector_registers(MacroAssembler* masm);
    71   void save_vector_registers(MacroAssembler* masm);
    73   void restore_vector_registers(MacroAssembler* masm);
    72   void restore_vector_registers(MacroAssembler* masm);
    74 
    73 
    75 public:
    74 public:
    76   static address shenandoah_wb();
    75   static address shenandoah_wb();
    77 
    76 
       
    77   void storeval_barrier(MacroAssembler* masm, Register dst, Register tmp);
    78 #ifdef COMPILER1
    78 #ifdef COMPILER1
    79   void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub);
    79   void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub);
    80   void gen_write_barrier_stub(LIR_Assembler* ce, ShenandoahWriteBarrierStub* stub);
    80   void gen_write_barrier_stub(LIR_Assembler* ce, ShenandoahWriteBarrierStub* stub);
    81   void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm);
    81   void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm);
    82 #endif
    82 #endif
    83 
    83 
    84   void cmpxchg_oop(MacroAssembler* masm,
    84   void cmpxchg_oop(MacroAssembler* masm,
    85                    Register res, Address addr, Register oldval, Register newval,
    85                    Register res, Address addr, Register oldval, Register newval,
    86                    bool exchange, bool encode, Register tmp1, Register tmp2);
    86                    bool exchange, Register tmp1, Register tmp2);
    87   virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    87   virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    88                                   Register src, Register dst, Register count);
    88                                   Register src, Register dst, Register count);
    89   virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    89   virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    90                                   Register src, Register dst, Register count);
    90                                   Register src, Register dst, Register count);
    91   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    91   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,