< prev index next >

src/share/vm/opto/phaseX.hpp

Print this page

        

@@ -188,10 +188,12 @@
   Arena*      arena()   { return _arena; }
   Type_Array& types()   { return _types; }
   // _nodes is used in varying ways by subclasses, which define local accessors
 
 public:
+  virtual PhaseIterGVN *is_IterGVN() { return 0; }
+
   // Get a previously recorded type for the node n.
   // This type must already have been recorded.
   // If you want the type of a very new (untransformed) node,
   // you must use type_or_null, and test the result for NULL.
   const Type* type(const Node* n) const {

@@ -255,11 +257,11 @@
   virtual Node *transform( Node *n ) = 0;
 
   // Return whether two Nodes are equivalent.
   // Must not be recursive, since the recursive version is built from this.
   // For pessimistic optimizations this is simply pointer equivalence.
-  bool eqv(const Node* n1, const Node* n2) const { return n1 == n2; }
+  bool eqv(const Node* n1, const Node* n2) const;
 
   // For pessimistic passes, the return type must monotonically narrow.
   // For optimistic  passes, the return type must monotonically widen.
   // It is possible to get into a "death march" in either type of pass,
   // where the types are continually moving but it will take 2**31 or
< prev index next >