src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.hpp
changeset 49906 4bb58f644e4e
parent 49748 6a880e576856
child 50162 f9fe56417050
equal deleted inserted replaced
49905:a09af8ef8e5c 49906:4bb58f644e4e
    26 #ifndef CPU_S390_GC_G1_G1BARRIERSETASSEMBLER_S390_HPP
    26 #ifndef CPU_S390_GC_G1_G1BARRIERSETASSEMBLER_S390_HPP
    27 #define CPU_S390_GC_G1_G1BARRIERSETASSEMBLER_S390_HPP
    27 #define CPU_S390_GC_G1_G1BARRIERSETASSEMBLER_S390_HPP
    28 
    28 
    29 #include "asm/macroAssembler.hpp"
    29 #include "asm/macroAssembler.hpp"
    30 #include "gc/shared/modRefBarrierSetAssembler.hpp"
    30 #include "gc/shared/modRefBarrierSetAssembler.hpp"
       
    31 #include "utilities/macros.hpp"
       
    32 
       
    33 class LIR_Assembler;
       
    34 class StubAssembler;
       
    35 class G1PreBarrierStub;
       
    36 class G1PostBarrierStub;
    31 
    37 
    32 class G1BarrierSetAssembler: public ModRefBarrierSetAssembler {
    38 class G1BarrierSetAssembler: public ModRefBarrierSetAssembler {
    33  protected:
    39  protected:
    34   virtual void gen_write_ref_array_pre_barrier(MacroAssembler* masm, DecoratorSet decorators, Register addr, Register count);
    40   virtual void gen_write_ref_array_pre_barrier(MacroAssembler* masm, DecoratorSet decorators, Register addr, Register count);
    35   virtual void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, Register addr, Register count,
    41   virtual void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, Register addr, Register count,
    48 
    54 
    49   virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    55   virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    50                             const Address& dst, Register val, Register tmp1, Register tmp2, Register tmp3);
    56                             const Address& dst, Register val, Register tmp1, Register tmp2, Register tmp3);
    51 
    57 
    52  public:
    58  public:
       
    59 #ifdef COMPILER1
       
    60   void gen_pre_barrier_stub(LIR_Assembler* ce, G1PreBarrierStub* stub);
       
    61   void gen_post_barrier_stub(LIR_Assembler* ce, G1PostBarrierStub* stub);
       
    62 
       
    63   void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm);
       
    64   void generate_c1_post_barrier_runtime_stub(StubAssembler* sasm);
       
    65 #endif
       
    66 
    53   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    67   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    54                        const Address& src, Register dst, Register tmp1, Register tmp2, Label *is_null = NULL);
    68                        const Address& src, Register dst, Register tmp1, Register tmp2, Label *is_null = NULL);
    55 
    69 
    56   virtual void resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2);
    70   virtual void resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2);
    57 };
    71 };