src/share/vm/opto/phaseX.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/opto/phaseX.hpp Fri Jun 13 09:30:26 2014
--- new/src/share/vm/opto/phaseX.hpp Fri Jun 13 09:30:25 2014
*** 385,394 ****
--- 385,397 ----
// Return a node which computes the same function as this node, but
// in a faster or cheaper fashion.
Node *transform( Node *n );
Node *transform_no_reclaim( Node *n );
+ virtual void transform_ctrl(Node *n) {
+ C->record_for_igvn(n);
+ }
void replace_with(PhaseGVN* gvn) {
_table.replace_with(&gvn->_table);
_types = gvn->_types;
}
*** 413,425 ****
--- 416,425 ----
Node_Stack _stack; // Stack used to avoid recursion
protected:
// Idealize new Node 'n' with respect to its inputs and its value
virtual Node *transform( Node *a_node );
// Warm up hash table, type table and initial worklist
void init_worklist( Node *a_root );
virtual const Type* saturate(const Type* new_type, const Type* old_type,
const Type* limit_type) const;
*** 429,438 ****
--- 429,442 ----
public:
PhaseIterGVN( PhaseIterGVN *igvn ); // Used by CCP constructor
PhaseIterGVN( PhaseGVN *gvn ); // Used after Parser
PhaseIterGVN( PhaseIterGVN *igvn, const char *dummy ); // Used after +VerifyOpto
+ // Idealize new Node 'n' with respect to its inputs and its value
+ virtual Node *transform( Node *a_node );
+ virtual void transform_ctrl(Node *n) { }
+
virtual PhaseIterGVN *is_IterGVN() { return this; }
Unique_Node_List _worklist; // Iterative worklist
// Given def-use info and an initial worklist, apply Node::Ideal,
src/share/vm/opto/phaseX.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File