Mercurial > hg > graal-jvmci-8
changeset 22557:0a7b7c7274be
[SPARC] Fix problems introduced on refactoring Kind.Object and Value.getKind()
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Mon, 14 Sep 2015 18:11:45 +0200 |
parents | 6821ef65ef4c |
children | 09813b6555ae |
files | jvmci/jdk.internal.jvmci.hotspot.sparc/src/jdk/internal/jvmci/hotspot/sparc/SPARCHotSpotRegisterConfig.java jvmci/jdk.internal.jvmci.sparc/src/jdk/internal/jvmci/sparc/SPARC.java |
diffstat | 2 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/jvmci/jdk.internal.jvmci.hotspot.sparc/src/jdk/internal/jvmci/hotspot/sparc/SPARCHotSpotRegisterConfig.java Mon Sep 14 17:05:34 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.hotspot.sparc/src/jdk/internal/jvmci/hotspot/sparc/SPARCHotSpotRegisterConfig.java Mon Sep 14 18:11:45 2015 +0200 @@ -185,7 +185,7 @@ if (architecture.canStoreValue(FPUs, kind) || architecture.canStoreValue(FPUd, kind)) { return fpuParameterRegisters; } - assert architecture.canStoreValue(CPU, kind); + assert architecture.canStoreValue(CPU, kind) : kind; return type == Type.JavaCallee ? cpuCalleeParameterRegisters : cpuCallerParameterRegisters; } @@ -234,11 +234,12 @@ } if (locations[i] == null) { + LIRKind lirKind = target.getLIRKind(kind); // Stack slot is always aligned to its size in bytes but minimum wordsize - int typeSize = SPARC.spillSlotSize(target, kind); + int typeSize = target.getSizeInBytes(lirKind.getPlatformKind()); currentStackOffset = roundUp(currentStackOffset, typeSize); int slotOffset = currentStackOffset + SPARC.REGISTER_SAFE_AREA_SIZE; - locations[i] = StackSlot.get(target.getLIRKind(kind.getStackKind()), slotOffset, !type.out); + locations[i] = StackSlot.get(lirKind, slotOffset, !type.out); currentStackOffset += typeSize; } }
--- a/jvmci/jdk.internal.jvmci.sparc/src/jdk/internal/jvmci/sparc/SPARC.java Mon Sep 14 17:05:34 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.sparc/src/jdk/internal/jvmci/sparc/SPARC.java Mon Sep 14 18:11:45 2015 +0200 @@ -265,6 +265,7 @@ JavaKind kind = (JavaKind) lirKind; if (category.equals(CPU)) { switch (kind) { + case Object: case Boolean: case Byte: case Char: