< prev index next >

src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp

Print this page
rev 50905 : Move Shenandoah stubs generation into ShenandoahBarrierSetAssembler

*** 31,40 **** --- 31,44 ---- #include "gc/shenandoah/c1/shenandoahBarrierSetC1.hpp" #endif class ShenandoahBarrierSetAssembler: public BarrierSetAssembler { private: + + static address _shenandoah_wb; + static address _shenandoah_wb_C; + void satb_write_barrier_pre(MacroAssembler* masm, Register obj, Register pre_val, Register thread, Register tmp,
*** 61,71 **** --- 65,80 ---- void write_barrier(MacroAssembler* masm, Register dst); void write_barrier_impl(MacroAssembler* masm, Register dst); void storeval_barrier(MacroAssembler* masm, Register dst, Register tmp); void asm_acmp_barrier(MacroAssembler* masm, Register op1, Register op2); + address generate_shenandoah_wb(StubCodeGenerator* cgen, bool c_abi, bool do_cset_test); + public: + static address shenandoah_wb(); + static address shenandoah_wb_C(); + #ifdef COMPILER1 void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub); void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm); #endif
*** 83,90 **** --- 92,101 ---- virtual void cmpxchg_oop(MacroAssembler* masm, Register addr, Register expected, Register new_val, bool acquire, bool release, bool weak, bool encode, Register tmp1, Register tmp2, Register tmp3, Register result); + + virtual void barrier_stubs_init(); }; #endif // CPU_AARCH64_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_AARCH64_HPP
< prev index next >