changeset 16634:b0cf5908ae96

[SPARC] Put extended arguments (index > 6) on the right place in stack
author Stefan Anzinger <stefan.anzinger@gmail.com>
date Mon, 21 Jul 2014 10:45:43 -0700
parents 57c3b36b894b
children d4fe35867b95
files graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java	Mon Jul 21 10:08:37 2014 -0700
+++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java	Mon Jul 21 10:45:43 2014 -0700
@@ -95,6 +95,11 @@
 
     private final CalleeSaveLayout csl;
 
+    /**
+     * Offset where the extended arguments resides in the stack.
+     */
+    private final int extendedArgumentOffset = 16 * 8;
+
     private static Register findRegister(String name, Register[] all) {
         for (Register reg : all) {
             if (reg.name.equals(name)) {
@@ -195,7 +200,7 @@
 
         int currentGeneral = 0;
         int currentFloating = 0;
-        int currentStackOffset = 0;
+        int currentStackOffset = extendedArgumentOffset;
 
         for (int i = 0; i < parameterTypes.length; i++) {
             final Kind kind = parameterTypes[i].getKind();