33 class InterpreterMacroAssembler;
34
35 class BarrierSetAssembler: public CHeapObj<mtGC> {
36 public:
37 virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
38 Register src, Register dst, Register count, Register preserve1, Register preserve2) {}
39 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
40 Register dst, Register count, Register preserve) {}
41
42 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
43 Register base, RegisterOrConstant ind_or_offs, Register val,
44 Register tmp1, Register tmp2, Register tmp3, bool needs_frame);
45
46 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
47 Register base, RegisterOrConstant ind_or_offs, Register dst,
48 Register tmp1, Register tmp2, bool needs_frame, Label *L_handle_null = NULL);
49
50 virtual void resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2, bool needs_frame);
51
52 virtual void barrier_stubs_init() {}
53 };
54
55 #endif // CPU_PPC_GC_SHARED_BARRIERSETASSEMBLER_PPC_HPP
|
33 class InterpreterMacroAssembler;
34
35 class BarrierSetAssembler: public CHeapObj<mtGC> {
36 public:
37 virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
38 Register src, Register dst, Register count, Register preserve1, Register preserve2) {}
39 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
40 Register dst, Register count, Register preserve) {}
41
42 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
43 Register base, RegisterOrConstant ind_or_offs, Register val,
44 Register tmp1, Register tmp2, Register tmp3, bool needs_frame);
45
46 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
47 Register base, RegisterOrConstant ind_or_offs, Register dst,
48 Register tmp1, Register tmp2, bool needs_frame, Label *L_handle_null = NULL);
49
50 virtual void resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2, bool needs_frame);
51
52 virtual void barrier_stubs_init() {}
53
54 virtual bool needs_explicit_null_check(intptr_t offset) const;
55 };
56
57 #endif // CPU_PPC_GC_SHARED_BARRIERSETASSEMBLER_PPC_HPP
|