< prev index next >

src/hotspot/share/opto/phaseX.hpp

Print this page
@@ -481,11 +481,11 @@
      }
    }
  
    // Idealize new Node 'n' with respect to its inputs and its value
    virtual Node *transform( Node *a_node );
-   virtual void record_for_igvn(Node *n) { }
+   virtual void record_for_igvn(Node *n) { _worklist.push(n); }
  
    // Iterative worklist. Reference to "C->igvn_worklist()".
    Unique_Node_List &_worklist;
  
    // Given def-use info and an initial worklist, apply Node::Ideal,

@@ -537,10 +537,12 @@
      add_users_to_worklist(old);
      hash_delete(old); // Yank from hash before hacking edges
      subsume_node(old, nn);
    }
  
+   void replace_in_uses(Node* n, Node* m);
+ 
    // Delayed node rehash: remove a node from the hash table and rehash it during
    // next optimizing pass
    void rehash_node_delayed(Node* n) {
      hash_delete(n);
      _worklist.push(n);

@@ -619,10 +621,11 @@
    void push_more_uses(Unique_Node_List& worklist, Node* parent, const Node* use) const;
    void push_phis(Unique_Node_List& worklist, const Node* use) const;
    static void push_catch(Unique_Node_List& worklist, const Node* use);
    void push_cmpu(Unique_Node_List& worklist, const Node* use) const;
    static void push_counted_loop_phi(Unique_Node_List& worklist, Node* parent, const Node* use);
+   static void push_cast(Unique_Node_List& worklist, const Node* use);
    void push_loadp(Unique_Node_List& worklist, const Node* use) const;
    static void push_load_barrier(Unique_Node_List& worklist, const BarrierSetC2* barrier_set, const Node* use);
    void push_and(Unique_Node_List& worklist, const Node* parent, const Node* use) const;
    void push_cast_ii(Unique_Node_List& worklist, const Node* parent, const Node* use) const;
    void push_opaque_zero_trip_guard(Unique_Node_List& worklist, const Node* use) const;
< prev index next >