53 Register pre_val,
54 Register thread,
55 Register tmp,
56 bool tosca_live,
57 bool expand_call);
58
59 void load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address src);
60
61 void storeval_barrier_impl(MacroAssembler* masm, Register dst, Register tmp);
62
63 address generate_shenandoah_lrb(StubCodeGenerator* cgen);
64
65 public:
66 static address shenandoah_lrb();
67
68 void storeval_barrier(MacroAssembler* masm, Register dst, Register tmp);
69 #ifdef COMPILER1
70 void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub);
71 void gen_load_reference_barrier_stub(LIR_Assembler* ce, ShenandoahLoadReferenceBarrierStub* stub);
72 void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm);
73 void generate_c1_load_reference_barrier_runtime_stub(StubAssembler* sasm);
74 #endif
75
76 void load_reference_barrier(MacroAssembler* masm, Register dst, Address src);
77 void load_reference_barrier_native(MacroAssembler* masm, Register dst, Address src);
78
79 void cmpxchg_oop(MacroAssembler* masm,
80 Register res, Address addr, Register oldval, Register newval,
81 bool exchange, Register tmp1, Register tmp2);
82 virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
83 Register src, Register dst, Register count);
84 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
85 Register dst, Address src, Register tmp1, Register tmp_thread);
86 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
87 Address dst, Register val, Register tmp1, Register tmp2);
88 virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
89 Register obj, Register tmp, Label& slowpath);
90 virtual void barrier_stubs_init();
91
92 };
93
|
53 Register pre_val,
54 Register thread,
55 Register tmp,
56 bool tosca_live,
57 bool expand_call);
58
59 void load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address src);
60
61 void storeval_barrier_impl(MacroAssembler* masm, Register dst, Register tmp);
62
63 address generate_shenandoah_lrb(StubCodeGenerator* cgen);
64
65 public:
66 static address shenandoah_lrb();
67
68 void storeval_barrier(MacroAssembler* masm, Register dst, Register tmp);
69 #ifdef COMPILER1
70 void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub);
71 void gen_load_reference_barrier_stub(LIR_Assembler* ce, ShenandoahLoadReferenceBarrierStub* stub);
72 void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm);
73 void generate_c1_load_reference_barrier_runtime_stub(StubAssembler* sasm, bool is_native);
74 #endif
75
76 void load_reference_barrier(MacroAssembler* masm, Register dst, Address src);
77 void load_reference_barrier_native(MacroAssembler* masm, Register dst, Address src);
78
79 void cmpxchg_oop(MacroAssembler* masm,
80 Register res, Address addr, Register oldval, Register newval,
81 bool exchange, Register tmp1, Register tmp2);
82 virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
83 Register src, Register dst, Register count);
84 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
85 Register dst, Address src, Register tmp1, Register tmp_thread);
86 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
87 Address dst, Register val, Register tmp1, Register tmp2);
88 virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
89 Register obj, Register tmp, Label& slowpath);
90 virtual void barrier_stubs_init();
91
92 };
93
|