mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-23 12:34:32 +02:00
7092905: C2: Keep track of the number of dead nodes
Keep an (almost) accurate running count of the reachable (live) flow graph nodes. Reviewed-by: kvn, twisti, jrose, vlivanov
This commit is contained in:
parent
96562be9e5
commit
2d2532e740
28 changed files with 306 additions and 120 deletions
|
@ -410,7 +410,7 @@ protected:
|
|||
int replace_edge(Node* old, Node* neww);
|
||||
// NULL out all inputs to eliminate incoming Def-Use edges.
|
||||
// Return the number of edges between 'n' and 'this'
|
||||
int disconnect_inputs(Node *n);
|
||||
int disconnect_inputs(Node *n, Compile *c);
|
||||
|
||||
// Quickly, return true if and only if I am Compile::current()->top().
|
||||
bool is_top() const {
|
||||
|
@ -458,9 +458,9 @@ public:
|
|||
void replace_by(Node* new_node);
|
||||
// Globally replace this node by a given new node, updating all uses
|
||||
// and cutting input edges of old node.
|
||||
void subsume_by(Node* new_node) {
|
||||
void subsume_by(Node* new_node, Compile* c) {
|
||||
replace_by(new_node);
|
||||
disconnect_inputs(NULL);
|
||||
disconnect_inputs(NULL, c);
|
||||
}
|
||||
void set_req_X( uint i, Node *n, PhaseIterGVN *igvn );
|
||||
// Find the one non-null required input. RegionNode only
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue