* fixed para locations at the calleeside for nostackframe assembler

routines

git-svn-id: trunk@11023 -
This commit is contained in:
Jonas Maebe 2008-05-21 15:11:37 +00:00
parent 942c91afad
commit 53d11b9a06

View File

@ -471,14 +471,19 @@ unit cpupara;
l:=paralen;
paraloc^.size:=int_cgsize(l);
end;
if side=callerside then
if (side=callerside) or
(po_nostackframe in p.procoptions) then
paraloc^.reference.index:=NR_STACK_POINTER_REG
else
else
paraloc^.reference.index:=NR_FRAME_POINTER_REG;
varalign:=used_align(size_2_align(l),paraalign,paraalign);
paraloc^.reference.offset:=parasize;
if side=calleeside then
inc(paraloc^.reference.offset,target_info.first_parm_offset);
if not(po_nostackframe in p.procoptions) then
inc(paraloc^.reference.offset,target_info.first_parm_offset)
else
{ return addres }
inc(paraloc^.reference.offset,4);
parasize:=align(parasize+l,varalign);
dec(paralen,l);
end;