diff options
author | foxsen <foxsen@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-06-11 06:21:39 +0000 |
---|---|---|
committer | foxsen <foxsen@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-06-11 06:21:39 +0000 |
commit | a18fe56f5e2c634b35936e044f1e95573699e77d (patch) | |
tree | 30249f7151b3ed1b84e5ba45a705725e110a6796 | |
parent | 58fa1485f041f2737e481a11fdc2babd59434d73 (diff) | |
download | fpc-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.pas | 6 |
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; |