--- old/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp 2018-06-13 21:56:39.995856715 +0200 +++ new/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp 2018-06-13 21:56:39.672860770 +0200 @@ -33,6 +33,10 @@ 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, @@ -67,7 +71,13 @@ void storeval_barrier(MacroAssembler* masm, Register dst, Register tmp); void storeval_barrier_impl(MacroAssembler* masm, Register dst, Register tmp); + 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); @@ -94,6 +104,8 @@ virtual void resolve_for_read(MacroAssembler* masm, DecoratorSet decorators, Register obj); virtual void resolve_for_write(MacroAssembler* masm, DecoratorSet decorators, Register obj); + virtual void barrier_stubs_init(); + }; #endif // CPU_X86_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_X86_HPP