diff src/share/vm/opto/macro.cpp @ 216:8d191a7697e2

6715633: when matching a memory node the adr_type should not change Summary: verify the adr_type of a mach node was not changed Reviewed-by: rasbold, never
author kvn
date Fri, 20 Jun 2008 11:10:05 -0700
parents 7793bd37a336
children 1e026f8da827
line wrap: on
line diff
--- a/src/share/vm/opto/macro.cpp	Fri Jun 20 10:17:09 2008 -0700
+++ b/src/share/vm/opto/macro.cpp	Fri Jun 20 11:10:05 2008 -0700
@@ -1674,7 +1674,14 @@
         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;