< prev index next > src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp
Print this page
void load_reference_barrier_c1_stub(LIR_Assembler* ce, ShenandoahLoadReferenceBarrierStub* stub);
void load_reference_barrier_c1_runtime_stub(StubAssembler* sasm, DecoratorSet decorators);
#endif
#ifdef COMPILER2
+ // Barrier hotpatching
+ static address parse_jump_address(address pc);
+ static void insert_patchable_nop(address pc);
+ static bool is_patchable_nop(address pc);
+ static void insert_patchable_jump(address pc, address target_pc);
+ static bool is_patchable_jump(address pc, address target_pc);
+
// Entry points from Matcher
void load_c2(const MachNode* node, MacroAssembler* masm, Register dst, Address addr, Register tmp1, Register tmp2, bool is_narrow);
void store_c2(const MachNode* node, MacroAssembler* masm, Address dst, bool dst_narrow, Register src,
bool src_narrow, Register tmp1, Register tmp2, Register tmp3);
void compare_and_set_c2(const MachNode* node, MacroAssembler* masm, Register res, Register addr, Register oldval,
< prev index next >