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: