src/share/vm/opto/escape.hpp

changeset 2276
e4fcbeb5a698
parent 1989
60a14ad85270
child 2314
f95d63e2154a
     1.1 --- a/src/share/vm/opto/escape.hpp	Sat Nov 06 18:52:07 2010 -0700
     1.2 +++ b/src/share/vm/opto/escape.hpp	Sat Nov 06 20:35:36 2010 -0700
     1.3 @@ -219,6 +219,9 @@
     1.4                                         // is still being collected. If false,
     1.5                                         // no new nodes will be processed.
     1.6  
     1.7 +  bool                    _progress;   // Indicates whether new Graph's edges
     1.8 +                                       // were created.
     1.9 +
    1.10    uint                _phantom_object; // Index of globally escaping object
    1.11                                         // that pointer values loaded from
    1.12                                         // a field which has not been set
    1.13 @@ -266,6 +269,13 @@
    1.14    void add_deferred_edge(uint from_i, uint to_i);
    1.15    void add_field_edge(uint from_i, uint to_i, int offs);
    1.16  
    1.17 +  // Add an edge of the specified type pointing to the specified target.
    1.18 +  // Set _progress if new edge is added.
    1.19 +  void add_edge(PointsToNode *f, uint to_i, PointsToNode::EdgeType et) {
    1.20 +    uint e_cnt = f->edge_count();
    1.21 +    f->add_edge(to_i, et);
    1.22 +    _progress |= (f->edge_count() != e_cnt);
    1.23 +  }
    1.24  
    1.25    // Add an edge to node given by "to_i" from any field of adr_i whose offset
    1.26    // matches "offset"  A deferred edge is added if to_i is a LocalVar, and

mercurial