diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java @ 17133:1a02fc45776f

Allow customization by subclasses
author Christian Wimmer <christian.wimmer@oracle.com>
date Tue, 16 Sep 2014 18:52:01 -0700
parents 27b40d2f8f8a
children 4f9633b83a24
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java	Tue Sep 16 18:49:10 2014 -0700
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java	Tue Sep 16 18:52:01 2014 -0700
@@ -81,13 +81,17 @@
                 for (int i = 0; i < constantLength; i++) {
                     state[i] = defaultForKind;
                 }
-                VirtualObjectNode virtualObject = VirtualArrayNode.create(elementType(), constantLength);
+                VirtualObjectNode virtualObject = createVirtualArrayNode(constantLength);
                 tool.createVirtualObject(virtualObject, state, Collections.<MonitorIdNode> emptyList());
                 tool.replaceWithVirtual(virtualObject);
             }
         }
     }
 
+    protected VirtualArrayNode createVirtualArrayNode(int constantLength) {
+        return VirtualArrayNode.create(elementType(), constantLength);
+    }
+
     /* Factored out in a separate method so that subclasses can override it. */
     protected ConstantNode defaultElementValue() {
         return ConstantNode.defaultForKind(elementType().getKind(), graph());