mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 16:49:20 +02:00
* ungetregisterfpu gets size parameter
This commit is contained in:
parent
02b3ec4f28
commit
d179aea20d
@ -1011,7 +1011,7 @@ unit cgobj;
|
|||||||
hr:=rg.getregisterfpu(list,size);
|
hr:=rg.getregisterfpu(list,size);
|
||||||
a_loadfpu_ref_reg(list,size,ref,hr);
|
a_loadfpu_ref_reg(list,size,ref,hr);
|
||||||
a_paramfpu_reg(list,size,hr,locpara);
|
a_paramfpu_reg(list,size,hr,locpara);
|
||||||
rg.ungetregisterfpu(list,hr);
|
rg.ungetregisterfpu(list,hr,size);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -1718,7 +1718,10 @@ finalization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.110 2003-06-12 16:43:07 peter
|
Revision 1.111 2003-06-12 21:11:10 peter
|
||||||
|
* ungetregisterfpu gets size parameter
|
||||||
|
|
||||||
|
Revision 1.110 2003/06/12 16:43:07 peter
|
||||||
* newra compiles for sparc
|
* newra compiles for sparc
|
||||||
|
|
||||||
Revision 1.109 2003/06/07 18:57:04 jonas
|
Revision 1.109 2003/06/07 18:57:04 jonas
|
||||||
|
@ -298,7 +298,7 @@ unit paramgr;
|
|||||||
LOC_REGISTER, LOC_CREGISTER:
|
LOC_REGISTER, LOC_CREGISTER:
|
||||||
rg.ungetregisterint(list,loc.register);
|
rg.ungetregisterint(list,loc.register);
|
||||||
LOC_FPUREGISTER, LOC_CFPUREGISTER:
|
LOC_FPUREGISTER, LOC_CFPUREGISTER:
|
||||||
rg.ungetregisterfpu(list,loc.register);
|
rg.ungetregisterfpu(list,loc.register,loc.size);
|
||||||
LOC_REFERENCE,LOC_CREFERENCE:
|
LOC_REFERENCE,LOC_CREFERENCE:
|
||||||
{ do nothing by default, most of the time it's the framepointer }
|
{ do nothing by default, most of the time it's the framepointer }
|
||||||
else
|
else
|
||||||
@ -459,7 +459,10 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.43 2003-06-09 14:54:26 jonas
|
Revision 1.44 2003-06-12 21:11:10 peter
|
||||||
|
* ungetregisterfpu gets size parameter
|
||||||
|
|
||||||
|
Revision 1.43 2003/06/09 14:54:26 jonas
|
||||||
* (de)allocation of registers for parameters is now performed properly
|
* (de)allocation of registers for parameters is now performed properly
|
||||||
(and checked on the ppc)
|
(and checked on the ppc)
|
||||||
- removed obsolete allocation of all parameter registers at the start
|
- removed obsolete allocation of all parameter registers at the start
|
||||||
|
@ -241,7 +241,7 @@ unit rgobj;
|
|||||||
@param(r register to free)
|
@param(r register to free)
|
||||||
|
|
||||||
}
|
}
|
||||||
procedure ungetregisterfpu(list: taasmoutput; r : tregister); virtual;
|
procedure ungetregisterfpu(list: taasmoutput; r : tregister;size:TCGsize); virtual;
|
||||||
|
|
||||||
function getregistermm(list: taasmoutput) : tregister; virtual;
|
function getregistermm(list: taasmoutput) : tregister; virtual;
|
||||||
procedure ungetregistermm(list: taasmoutput; r : tregister); virtual;
|
procedure ungetregistermm(list: taasmoutput; r : tregister); virtual;
|
||||||
@ -816,7 +816,7 @@ unit rgobj;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure trgobj.ungetregisterfpu(list : taasmoutput; r : tregister);
|
procedure trgobj.ungetregisterfpu(list : taasmoutput; r : tregister;size:TCGsize);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
ungetregistergen(list,r,usableregsfpu,unusedregsfpu,
|
ungetregistergen(list,r,usableregsfpu,unusedregsfpu,
|
||||||
@ -870,7 +870,7 @@ unit rgobj;
|
|||||||
if r.enum in intregs then
|
if r.enum in intregs then
|
||||||
ungetregisterint(list,r)
|
ungetregisterint(list,r)
|
||||||
else if r.enum in fpuregs then
|
else if r.enum in fpuregs then
|
||||||
ungetregisterfpu(list,r)
|
ungetregisterfpu(list,r,OS_NO)
|
||||||
else if r.enum in mmregs then
|
else if r.enum in mmregs then
|
||||||
ungetregistermm(list,r)
|
ungetregistermm(list,r)
|
||||||
else if r.enum in addrregs then
|
else if r.enum in addrregs then
|
||||||
@ -2429,6 +2429,8 @@ unit rgobj;
|
|||||||
if l.size in [OS_64,OS_S64] then
|
if l.size in [OS_64,OS_S64] then
|
||||||
rg.ungetregisterint(list,l.registerhigh);
|
rg.ungetregisterint(list,l.registerhigh);
|
||||||
end;
|
end;
|
||||||
|
LOC_FPUREGISTER,LOC_CFPUREGISTER :
|
||||||
|
rg.ungetregisterfpu(list,l.register,l.size);
|
||||||
LOC_CREFERENCE,LOC_REFERENCE :
|
LOC_CREFERENCE,LOC_REFERENCE :
|
||||||
rg.ungetreference(list, l.reference);
|
rg.ungetreference(list, l.reference);
|
||||||
end;
|
end;
|
||||||
@ -2466,7 +2468,10 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.52 2003-06-12 16:43:07 peter
|
Revision 1.53 2003-06-12 21:11:10 peter
|
||||||
|
* ungetregisterfpu gets size parameter
|
||||||
|
|
||||||
|
Revision 1.52 2003/06/12 16:43:07 peter
|
||||||
* newra compiles for sparc
|
* newra compiles for sparc
|
||||||
|
|
||||||
Revision 1.51 2003/06/09 14:54:26 jonas
|
Revision 1.51 2003/06/09 14:54:26 jonas
|
||||||
|
Loading…
Reference in New Issue
Block a user