# HG changeset patch # User Lukas Stadler # Date 1382613987 -7200 # Node ID b247ddd2fa0f78cd6bd2a49a80928d751ba3b020 # Parent 2d11b9128e016359ba72447edc3699c1ef53f592 initialize primitive frame slots for objects to 0 (long) instead of null (object) diff -r 2d11b9128e01 -r b247ddd2fa0f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java --- 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: