< prev index next >

src/hotspot/share/gc/shared/c2/barrierSetC2.hpp

Print this page
@@ -259,10 +259,12 @@
  
    // Preserve the value in reg across runtime calls in this barrier.
    void preserve(Register reg);
    // Do not preserve the value in reg across runtime calls in this barrier.
    void dont_preserve(Register reg);
+   // Check if register is in preserved set
+   bool is_preserved(Register reg);
    // Set of registers whose value needs to be preserved across runtime calls in this barrier.
    const RegMask& preserve_set() const;
  };
  
  // This is the top-level class for the backend of the Access API in C2.

@@ -368,11 +370,11 @@
    virtual bool matcher_is_store_load_barrier(Node* x, uint xop) const { return false; }
  
    // Whether the given phi node joins OOPs from fast and slow allocation paths.
    static bool is_allocation(const Node* node);
    // Elide GC barriers from a Mach node according to elide_dominated_barriers().
-   virtual void elide_dominated_barrier(MachNode* mach) const { }
+   virtual void elide_dominated_barrier(MachNode* mach, MachNode* dominator) const { }
    // Elide GC barriers from instructions in 'accesses' if they are dominated by
    // instructions in 'access_dominators' (according to elide_mach_barrier()) and
    // there is no safepoint poll in between.
    void elide_dominated_barriers(Node_List& accesses, Node_List& access_dominators) const;
    virtual void late_barrier_analysis() const { }
< prev index next >