src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.hpp
changeset 49906 4bb58f644e4e
parent 49748 6a880e576856
child 50162 f9fe56417050
equal deleted inserted replaced
49905:a09af8ef8e5c 49906:4bb58f644e4e
    26 #ifndef CPU_PPC_GC_G1_G1BARRIERSETASSEMBLER_PPC_HPP
    26 #ifndef CPU_PPC_GC_G1_G1BARRIERSETASSEMBLER_PPC_HPP
    27 #define CPU_PPC_GC_G1_G1BARRIERSETASSEMBLER_PPC_HPP
    27 #define CPU_PPC_GC_G1_G1BARRIERSETASSEMBLER_PPC_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 from, Register to, Register count,
    40   virtual void gen_write_ref_array_pre_barrier(MacroAssembler* masm, DecoratorSet decorators, Register from, Register to, Register count,
    35                                                Register preserve1, Register preserve2);
    41                                                Register preserve1, Register preserve2);
    43   virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    49   virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    44                             Register base, RegisterOrConstant ind_or_offs, Register val,
    50                             Register base, RegisterOrConstant ind_or_offs, Register val,
    45                             Register tmp1, Register tmp2, Register tmp3, bool needs_frame);
    51                             Register tmp1, Register tmp2, Register tmp3, bool needs_frame);
    46 
    52 
    47 public:
    53 public:
       
    54 #ifdef COMPILER1
       
    55   void gen_pre_barrier_stub(LIR_Assembler* ce, G1PreBarrierStub* stub);
       
    56   void gen_post_barrier_stub(LIR_Assembler* ce, G1PostBarrierStub* stub);
       
    57 
       
    58   void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm);
       
    59   void generate_c1_post_barrier_runtime_stub(StubAssembler* sasm);
       
    60 #endif
       
    61 
    48   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    62   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
    49                        Register base, RegisterOrConstant ind_or_offs, Register dst,
    63                        Register base, RegisterOrConstant ind_or_offs, Register dst,
    50                        Register tmp1, Register tmp2, bool needs_frame, Label *is_null = NULL);
    64                        Register tmp1, Register tmp2, bool needs_frame, Label *is_null = NULL);
    51 
    65 
    52   virtual void resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2, bool needs_frame);
    66   virtual void resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2, bool needs_frame);