hotspot/src/share/vm/opto/escape.hpp
changeset 7122 23b82ce71b4e
parent 5914 8363e7e6915a
child 7397 5b173b4ca846
--- a/hotspot/src/share/vm/opto/escape.hpp	Sat Nov 06 18:52:07 2010 -0700
+++ b/hotspot/src/share/vm/opto/escape.hpp	Sat Nov 06 20:35:36 2010 -0700
@@ -219,6 +219,9 @@
                                        // is still being collected. If false,
                                        // no new nodes will be processed.
 
+  bool                    _progress;   // Indicates whether new Graph's edges
+                                       // were created.
+
   uint                _phantom_object; // Index of globally escaping object
                                        // that pointer values loaded from
                                        // a field which has not been set
@@ -266,6 +269,13 @@
   void add_deferred_edge(uint from_i, uint to_i);
   void add_field_edge(uint from_i, uint to_i, int offs);
 
+  // Add an edge of the specified type pointing to the specified target.
+  // Set _progress if new edge is added.
+  void add_edge(PointsToNode *f, uint to_i, PointsToNode::EdgeType et) {
+    uint e_cnt = f->edge_count();
+    f->add_edge(to_i, et);
+    _progress |= (f->edge_count() != e_cnt);
+  }
 
   // Add an edge to node given by "to_i" from any field of adr_i whose offset
   // matches "offset"  A deferred edge is added if to_i is a LocalVar, and