6715633: when matching a memory node the adr_type should not change

Verify the adr_type of a mach node was not changed

Reviewed-by: rasbold, never
This commit is contained in:
Vladimir Kozlov 2008-06-20 11:10:05 -07:00
parent 694776b297
commit 0a077d276e
10 changed files with 90 additions and 27 deletions

View file

@ -1674,7 +1674,14 @@ bool PhaseMacroExpand::expand_macro_nodes() {
success = eliminate_locking_node(n->as_AbstractLock());
break;
default:
assert(false, "unknown node type in macro list");
if (n->Opcode() == Op_Opaque1 || n->Opcode() == Op_Opaque2) {
_igvn.add_users_to_worklist(n);
_igvn.hash_delete(n);
_igvn.subsume_node(n, n->in(1));
success = true;
} else {
assert(false, "unknown node type in macro list");
}
}
assert(success == (C->macro_count() < old_macro_count), "elimination reduces macro count");
progress = progress || success;