summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfoxsen <foxsen@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-06-11 06:21:39 +0000
committerfoxsen <foxsen@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-06-11 06:21:39 +0000
commita18fe56f5e2c634b35936e044f1e95573699e77d (patch)
tree30249f7151b3ed1b84e5ba45a705725e110a6796
parent58fa1485f041f2737e481a11fdc2babd59434d73 (diff)
downloadfpc-a18fe56f5e2c634b35936e044f1e95573699e77d.tar.gz
init maxpushedparasize to 16
align register saving area to 8 bytes git-svn-id: http://svn.freepascal.org/svn/fpc/branches/foxsen@21579 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--mips/compiler/mips/cpupi.pas6
1 files changed, 4 insertions, 2 deletions
diff --git a/mips/compiler/mips/cpupi.pas b/mips/compiler/mips/cpupi.pas
index fee7f57278..f01be970bf 100644
--- a/mips/compiler/mips/cpupi.pas
+++ b/mips/compiler/mips/cpupi.pas
@@ -60,6 +60,7 @@ implementation
floatregssave:=12; { f20-f31 }
intregssave:=12; { r16-r23,r28-r31 }
needs_frame_pointer := false;
+ maxpushedparasize := 16;
end;
@@ -81,10 +82,11 @@ implementation
regs: tcpuregisterset;
begin
result:=maxpushedparasize;
- floatregstart:=result;
+ { ABI requirement: start of the register save area must align at 8 byte }
+ { can we ensure maxpushedparasize is properly aligned? if so unnecessary}
+ floatregstart:=Align(result,8);
inc(result,floatregssave*4);
intregstart:=result;
- //inc(result,intregssave*4);
result:=Align(tg.lasttemp,max(current_settings.alignment.localalignmin,8));
end;