Mercurial > hg > truffle
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: