diff src/share/vm/opto/matcher.cpp @ 7957:0d26ce8e9251

Merge
author acorn
date Mon, 28 Jan 2013 10:34:07 -0500
parents b30b3c2a0cf2
children 603ca7e51354 d2907f74462e
line wrap: on
line diff
--- a/src/share/vm/opto/matcher.cpp	Fri Jan 25 15:06:18 2013 -0500
+++ b/src/share/vm/opto/matcher.cpp	Mon Jan 28 10:34:07 2013 -0500
@@ -919,6 +919,7 @@
     case Op_AryEq:
     case Op_MemBarVolatile:
     case Op_MemBarCPUOrder: // %%% these ideals should have narrower adr_type?
+    case Op_EncodeISOArray:
       nidx = Compile::AliasIdxTop;
       nat = NULL;
       break;
@@ -1982,6 +1983,7 @@
       case Op_StrEquals:
       case Op_StrIndexOf:
       case Op_AryEq:
+      case Op_EncodeISOArray:
         set_shared(n); // Force result into register (it will be anyways)
         break;
       case Op_ConP: {  // Convert pointers above the centerline to NUL
@@ -2183,6 +2185,13 @@
         n->del_req(4);
         break;
       }
+      case Op_EncodeISOArray: {
+        // Restructure into a binary tree for Matching.
+        Node* pair = new (C) BinaryNode(n->in(3), n->in(4));
+        n->set_req(3, pair);
+        n->del_req(4);
+        break;
+      }
       default:
         break;
       }