*** 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) { } // Iterative worklist. Reference to "C->igvn_worklist()". Unique_Node_List &_worklist; // Given def-use info and an initial worklist, apply Node::Ideal, --- 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) { _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;