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