changeset 12556:b247ddd2fa0f

initialize primitive frame slots for objects to 0 (long) instead of null (object)
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 24 Oct 2013 13:26:27 +0200
parents 2d11b9128e01
children 86c74ef1b6f5 c17bfad2fa98
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java
diffstat 1 files changed, 3 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java	Thu Oct 24 12:23:52 2013 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java	Thu Oct 24 13:26:27 2013 +0200
@@ -163,7 +163,7 @@
             ConstantNode tagDefault = ConstantNode.forByte((byte) 0, graph());
             for (int i = 0; i < frameSize; i++) {
                 objectArrayEntryState[i] = objectDefault;
-                primitiveArrayEntryState[i] = initialValue(frameDescriptor.getSlots().get(i).getKind());
+                primitiveArrayEntryState[i] = initialPrimitiveValue(frameDescriptor.getSlots().get(i).getKind());
                 tagArrayEntryState[i] = tagDefault;
             }
             tool.getAssumptions().record(new AssumptionValidAssumption((OptimizedAssumption) frameDescriptor.getVersion()));
@@ -186,7 +186,7 @@
         tool.replaceWithVirtual(virtualFrame);
     }
 
-    private ValueNode initialValue(FrameSlotKind kind) {
+    private ValueNode initialPrimitiveValue(FrameSlotKind kind) {
         Kind graalKind = null;
         switch (kind) {
             case Boolean:
@@ -208,9 +208,8 @@
                 graalKind = Kind.Long;
                 break;
             case Object:
-                graalKind = Kind.Object;
-                break;
             case Illegal:
+                // won't be stored in the primitive array, so default to long
                 graalKind = Kind.Long;
                 break;
             default: