< prev index next >

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

Print this page
*** 215,19 ***
      _fastpath_branch_offset(offset),
      _test_and_branch_reachable(),
      _skip_trampoline(),
      _test_and_branch_reachable_entry(),
      _save_slots_idx(0) {
      assert(!_narrow || is_heap_access(node), "Only heap accesses can be narrow");
      post_init(offset);
    }
  
    static bool is_heap_access(const MachNode* node) {
      return (node->barrier_data() & ShenandoahBitNative) == 0;
    }
    static bool needs_slow_barrier(const MachNode* node) {
!     return needs_load_ref_barrier(node) || needs_keep_alive_barrier(node);
    }
    static bool needs_load_ref_barrier(const MachNode* node) {
      return (node->barrier_data() & (ShenandoahBitStrong | ShenandoahBitWeak | ShenandoahBitPhantom)) != 0;
    }
    static bool needs_load_ref_barrier_weak(const MachNode* node) {
--- 215,20 ---
      _fastpath_branch_offset(offset),
      _test_and_branch_reachable(),
      _skip_trampoline(),
      _test_and_branch_reachable_entry(),
      _save_slots_idx(0) {
+     assert(!ShenandoahSkipBarriers, "Do not touch stubs when disabled");
      assert(!_narrow || is_heap_access(node), "Only heap accesses can be narrow");
      post_init(offset);
    }
  
    static bool is_heap_access(const MachNode* node) {
      return (node->barrier_data() & ShenandoahBitNative) == 0;
    }
    static bool needs_slow_barrier(const MachNode* node) {
!     return !ShenandoahSkipBarriers && (needs_load_ref_barrier(node) || needs_keep_alive_barrier(node));
    }
    static bool needs_load_ref_barrier(const MachNode* node) {
      return (node->barrier_data() & (ShenandoahBitStrong | ShenandoahBitWeak | ShenandoahBitPhantom)) != 0;
    }
    static bool needs_load_ref_barrier_weak(const MachNode* node) {

*** 235,11 ***
    }
    static bool needs_keep_alive_barrier(const MachNode* node) {
      return (node->barrier_data() & ShenandoahBitKeepAlive) != 0;
    }
    static bool needs_card_barrier(const MachNode* node) {
!     return (node->barrier_data() & ShenandoahBitCardMark) != 0;
    }
    static bool maybe_null(const MachNode* node) {
      return (node->barrier_data() & ShenandoahBitNotNull) == 0;
    }
  
--- 236,11 ---
    }
    static bool needs_keep_alive_barrier(const MachNode* node) {
      return (node->barrier_data() & ShenandoahBitKeepAlive) != 0;
    }
    static bool needs_card_barrier(const MachNode* node) {
!     return !ShenandoahSkipBarriers && ((node->barrier_data() & ShenandoahBitCardMark) != 0);
    }
    static bool maybe_null(const MachNode* node) {
      return (node->barrier_data() & ShenandoahBitNotNull) == 0;
    }
  
< prev index next >