< prev index next > src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp
Print this page
bool is_special_register(Register reg);
Register select_temp_register(bool& selected_live, Register skip_reg1 = noreg, Register skip_reg2 = noreg);
void maybe_far_jump_if_zero(MacroAssembler& masm, Register reg);
- void enter_if_gc_state(MacroAssembler& masm, const char test_state, Register tmp);
+ void patchable_jump(MacroAssembler& masm, const char gc_state, bool jump_when_state, Label* L_target);
+
+ void patchable_jump_if_gc_state(MacroAssembler& masm, const char gc_state, Label* L_target) {
+ patchable_jump(masm, gc_state, true, L_target);
+ }
+ void patchable_jump_if_not_gc_state(MacroAssembler& masm, const char gc_state, Label* L_target) {
+ patchable_jump(masm, gc_state, false, L_target);
+ }
+
+ void enter_if_gc_state(MacroAssembler& masm, const char test_state);
void keepalive(MacroAssembler& masm, Label* L_done);
void lrb(MacroAssembler& masm);
static void cardtable(MacroAssembler& masm, Address addr, Register tmp1, Register tmp2);
< prev index next >