mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 11:09:42 +02:00
* released useparatemp
This commit is contained in:
parent
059908d399
commit
dfd60cb507
@ -26,8 +26,6 @@ unit ncgcal;
|
||||
|
||||
interface
|
||||
|
||||
{ $define AnsiStrRef}
|
||||
|
||||
uses
|
||||
cpubase,
|
||||
globtype,
|
||||
@ -130,17 +128,11 @@ implementation
|
||||
secondpass(left);
|
||||
|
||||
{ Allocate (temporary) paralocation }
|
||||
{$ifdef usetempparaloc}
|
||||
tempparaloc:=paraitem.paraloc[callerside];
|
||||
if tempparaloc.loc=LOC_REGISTER then
|
||||
paramanager.alloctempregs(exprasmlist,tempparaloc)
|
||||
else
|
||||
paramanager.allocparaloc(exprasmlist,tempparaloc);
|
||||
{$else}
|
||||
tempparaloc:=paraitem.paraloc[callerside];
|
||||
paramanager.allocparaloc(exprasmlist,tempparaloc);
|
||||
{$endif usetempparaloc}
|
||||
|
||||
|
||||
{ handle varargs first, because defcoll is not valid }
|
||||
if (nf_varargs_para in flags) then
|
||||
@ -605,10 +597,8 @@ implementation
|
||||
ppn:=tcgcallparanode(left);
|
||||
while assigned(ppn) do
|
||||
begin
|
||||
{$ifdef usetempparaloc}
|
||||
if ppn.tempparaloc.loc=LOC_REGISTER then
|
||||
paramanager.freeparaloc(exprasmlist,ppn.tempparaloc);
|
||||
{$endif usetempparaloc}
|
||||
paramanager.freeparaloc(exprasmlist,ppn.paraitem.paraloc[callerside]);
|
||||
ppn:=tcgcallparanode(ppn.right);
|
||||
end;
|
||||
@ -771,9 +761,7 @@ implementation
|
||||
(po_leftright in procdefinition.procoptions),procdefinition.proccalloption,
|
||||
para_alignment,0);
|
||||
|
||||
{$ifdef usetempparaloc}
|
||||
pushparas;
|
||||
{$endif}
|
||||
end;
|
||||
aktcallnode:=oldaktcallnode;
|
||||
|
||||
@ -1343,7 +1331,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.109 2003-09-03 15:55:00 peter
|
||||
Revision 1.110 2003-09-04 15:39:58 peter
|
||||
* released useparatemp
|
||||
|
||||
Revision 1.109 2003/09/03 15:55:00 peter
|
||||
* NEWRA branch merged
|
||||
|
||||
Revision 1.108.2.4 2003/09/01 21:02:55 peter
|
||||
|
@ -108,9 +108,7 @@ unit paramgr;
|
||||
{ Return the location of the low and high part of a 64bit parameter }
|
||||
procedure splitparaloc64(const locpara:tparalocation;var loclopara,lochipara:tparalocation);virtual;
|
||||
|
||||
{$ifdef usetempparaloc}
|
||||
procedure alloctempregs(list: taasmoutput;var locpara:tparalocation);virtual;
|
||||
{$endif usetempparaloc}
|
||||
end;
|
||||
|
||||
|
||||
@ -326,7 +324,6 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
{$ifdef usetempparaloc}
|
||||
procedure tparamanager.alloctempregs(list: taasmoutput;var locpara:tparalocation);
|
||||
begin
|
||||
if locpara.loc<>LOC_REGISTER then
|
||||
@ -341,7 +338,6 @@ implementation
|
||||
{$endif cpu64bit}
|
||||
locpara.register:=rg.getregisterint(list,locpara.size);
|
||||
end;
|
||||
{$endif usetempparaloc}
|
||||
|
||||
|
||||
initialization
|
||||
@ -352,7 +348,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.51 2003-09-03 15:55:01 peter
|
||||
Revision 1.52 2003-09-04 15:39:58 peter
|
||||
* released useparatemp
|
||||
|
||||
Revision 1.51 2003/09/03 15:55:01 peter
|
||||
* NEWRA branch merged
|
||||
|
||||
Revision 1.50.2.1 2003/08/29 17:28:59 peter
|
||||
|
Loading…
Reference in New Issue
Block a user