src/share/vm/opto/escape.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/opto/escape.hpp Tue Nov 2 15:10:08 2010
--- new/src/share/vm/opto/escape.hpp Tue Nov 2 15:10:07 2010
*** 217,226 ****
--- 217,229 ----
bool _collecting; // Indicates whether escape information
// 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
// are assumed to point to.
uint _oop_null; // ConP(#NULL)
*** 264,273 ****
--- 267,283 ----
// node indices of the source and destination of the edge
void add_pointsto_edge(uint from_i, uint to_i);
void add_deferred_edge(uint from_i, uint to_i);
void add_field_edge(uint from_i, uint to_i, int offs);
+ // Add a edge of the specified type pointing to the specified target.
+ // Set _progress if new esge 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
// a pointsto edge is added if it is a JavaObject
void add_edge_from_fields(uint adr, uint to_i, int offs);
src/share/vm/opto/escape.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File