23 */
24
25 #ifndef CPU_AARCH64_GC_SHARED_BARRIERSETASSEMBLER_AARCH64_HPP
26 #define CPU_AARCH64_GC_SHARED_BARRIERSETASSEMBLER_AARCH64_HPP
27
28 #include "asm/macroAssembler.hpp"
29 #include "memory/allocation.hpp"
30 #include "oops/access.hpp"
31
32 class BarrierSetAssembler: public CHeapObj<mtGC> {
33 public:
34 virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
35 Register addr, Register count, RegSet saved_regs) {}
36 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
37 Register start, Register end, Register tmp, RegSet saved_regs) {}
38 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
39 Register dst, Address src, Register tmp1, Register tmp_thread);
40 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
41 Address dst, Register val, Register tmp1, Register tmp2);
42
43 virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
44 Register obj, Register tmp, Label& slowpath);
45
46 virtual void barrier_stubs_init() {}
47 };
48
49 #endif // CPU_AARCH64_GC_SHARED_BARRIERSETASSEMBLER_AARCH64_HPP
|
23 */
24
25 #ifndef CPU_AARCH64_GC_SHARED_BARRIERSETASSEMBLER_AARCH64_HPP
26 #define CPU_AARCH64_GC_SHARED_BARRIERSETASSEMBLER_AARCH64_HPP
27
28 #include "asm/macroAssembler.hpp"
29 #include "memory/allocation.hpp"
30 #include "oops/access.hpp"
31
32 class BarrierSetAssembler: public CHeapObj<mtGC> {
33 public:
34 virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
35 Register addr, Register count, RegSet saved_regs) {}
36 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
37 Register start, Register end, Register tmp, RegSet saved_regs) {}
38 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
39 Register dst, Address src, Register tmp1, Register tmp_thread);
40 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
41 Address dst, Register val, Register tmp1, Register tmp2);
42
43 virtual void obj_equals(MacroAssembler* masm, DecoratorSet decorators,
44 Register obj1, Register obj2);
45
46 virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
47 Register obj, Register tmp, Label& slowpath);
48
49 virtual void barrier_stubs_init() {}
50 };
51
52 #endif // CPU_AARCH64_GC_SHARED_BARRIERSETASSEMBLER_AARCH64_HPP
|