mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 13:49:29 +02:00
* Revert r17695 because it breaks cycling.
git-svn-id: trunk@17698 -
This commit is contained in:
parent
95b63aa583
commit
c40b8d92c7
@ -1234,7 +1234,10 @@ unit cpupara;
|
||||
begin
|
||||
intparareg:=0;
|
||||
mmparareg:=0;
|
||||
parasize:=0;
|
||||
if target_info.system=system_x86_64_win64 then
|
||||
parasize:=4*8
|
||||
else
|
||||
parasize:=0;
|
||||
create_paraloc_info_intern(p,side,p.paras,intparareg,mmparareg,parasize,false);
|
||||
{ Create Function result paraloc }
|
||||
create_funcretloc_info(p,side);
|
||||
|
@ -42,7 +42,6 @@ implementation
|
||||
|
||||
uses
|
||||
systems,
|
||||
globtype,
|
||||
globals,
|
||||
cutils,
|
||||
symconst,
|
||||
@ -55,8 +54,7 @@ implementation
|
||||
begin
|
||||
if not(po_assembler in procdef.procoptions) and
|
||||
(tg.direction > 0) then
|
||||
{ the spilling area is needed only for non-leaf procedures }
|
||||
tg.setfirsttemp(tg.direction*maxpushedparasize+(4*8*ord(pi_do_call in flags)));
|
||||
tg.setfirsttemp(tg.direction*maxpushedparasize+4*8);
|
||||
end
|
||||
else
|
||||
tg.setfirsttemp(tg.direction*maxpushedparasize);
|
||||
@ -77,13 +75,7 @@ implementation
|
||||
{ RSP should be aligned on 16 bytes }
|
||||
result:=Align(tg.direction*tg.lasttemp+maxpushedparasize,16);
|
||||
if target_info.system=system_x86_64_win64 then
|
||||
begin
|
||||
{ case tg.direction>0 is handled above in set_first_temp_offset
|
||||
(tg.setfirsttemp also sets tg.lasttemp, therefore the 32 byte
|
||||
spilling area is already included in result) }
|
||||
if (tg.direction<0) and (pi_do_call in flags) then
|
||||
inc(result,4*8);
|
||||
end;
|
||||
inc(result,4*8);
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user