diff a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp --- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp +++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp @@ -81,10 +81,16 @@ void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm); void generate_c1_load_reference_barrier_runtime_stub(StubAssembler* sasm, DecoratorSet decorators); #endif #ifdef COMPILER2 + // Barrier hotpatching + static address parse_stub_address(address pc); + static bool is_active(address pc); + static void patch_branch_to_nop(address pc); + static void patch_nop_to_branch(address pc, address stub_addr); + // Entry points from Matcher void load_c2(const MachNode* node, MacroAssembler* masm, Register dst, Address src, bool narrow); void store_c2(const MachNode* node, MacroAssembler* masm, Address dst, bool dst_narrow, Register src, bool src_narrow, Register tmp); void compare_and_set_c2(const MachNode* node, MacroAssembler* masm, Register res, Address addr, Register oldval, Register newval,