6259129: (Escape Analysis) scalar replacement for not escaping objects

Use scalar replacement with EA to remove allocations for objects which do not escape the compiled method.

Reviewed-by: rasbold, never, jrose
This commit is contained in:
Vladimir Kozlov 2008-03-20 13:51:55 -07:00
parent a2b4f55757
commit 1ba2523386
3 changed files with 670 additions and 11 deletions

View file

@ -439,6 +439,13 @@ public:
void add_users_to_worklist0( Node *n );
void add_users_to_worklist ( Node *n );
// Replace old node with new one.
void replace_node( Node *old, Node *nn ) {
add_users_to_worklist(old);
hash_delete(old);
subsume_node(old, nn);
}
#ifndef PRODUCT
protected:
// Sub-quadratic implementation of VerifyIterativeGVN.