< prev index next >

src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp

Print this page
@@ -170,11 +170,20 @@
    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 >