mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-21 06:49:22 +02:00
* freeintparaloc added
This commit is contained in:
parent
43746bc54a
commit
e6e43724c3
@ -45,6 +45,7 @@ unit cpupara;
|
|||||||
function ret_in_param(def : tdef;calloption : tproccalloption) : boolean;override;
|
function ret_in_param(def : tdef;calloption : tproccalloption) : boolean;override;
|
||||||
function push_addr_param(def : tdef;calloption : tproccalloption) : boolean;override;
|
function push_addr_param(def : tdef;calloption : tproccalloption) : boolean;override;
|
||||||
function getintparaloc(list: taasmoutput; nr : longint) : tparalocation;override;
|
function getintparaloc(list: taasmoutput; nr : longint) : tparalocation;override;
|
||||||
|
procedure freeintparaloc(list: taasmoutput; nr : longint); override;
|
||||||
function getparaloc(p : tdef) : tcgloc;
|
function getparaloc(p : tdef) : tcgloc;
|
||||||
procedure create_param_loc_info(p : tabstractprocdef);override;
|
procedure create_param_loc_info(p : tabstractprocdef);override;
|
||||||
function getselflocation(p : tabstractprocdef) : tparalocation;override;
|
function getselflocation(p : tabstractprocdef) : tparalocation;override;
|
||||||
@ -119,6 +120,12 @@ unit cpupara;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure ti386paramanager.freeintparaloc(list: taasmoutput; nr : longint);
|
||||||
|
begin
|
||||||
|
{ nothing to release }
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
function ti386paramanager.getparaloc(p : tdef) : tcgloc;
|
function ti386paramanager.getparaloc(p : tdef) : tcgloc;
|
||||||
begin
|
begin
|
||||||
result:=LOC_REFERENCE;
|
result:=LOC_REFERENCE;
|
||||||
@ -169,7 +176,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.18 2003-06-07 18:57:04 jonas
|
Revision 1.19 2003-06-17 16:34:19 peter
|
||||||
|
* freeintparaloc added
|
||||||
|
|
||||||
|
Revision 1.18 2003/06/07 18:57:04 jonas
|
||||||
+ added freeintparaloc
|
+ added freeintparaloc
|
||||||
* ppc get/freeintparaloc now check whether the parameter regs are
|
* ppc get/freeintparaloc now check whether the parameter regs are
|
||||||
properly allocated/deallocated (and get an extra list para)
|
properly allocated/deallocated (and get an extra list para)
|
||||||
|
@ -58,7 +58,8 @@ implementation
|
|||||||
not((reg shr 8) in is_reg_var_int) then
|
not((reg shr 8) in is_reg_var_int) then
|
||||||
begin
|
begin
|
||||||
if (reg shr 8) in UsedParaRegs then
|
if (reg shr 8) in UsedParaRegs then
|
||||||
InternalError(2003060701);
|
InternalError(2003060701)
|
||||||
|
;
|
||||||
include(UsedParaRegs,reg shr 8);
|
include(UsedParaRegs,reg shr 8);
|
||||||
result.enum:=R_INTREGISTER;
|
result.enum:=R_INTREGISTER;
|
||||||
result.number:=reg;
|
result.number:=reg;
|
||||||
@ -77,7 +78,8 @@ implementation
|
|||||||
not((reg.number shr 8) in is_reg_var_int) then
|
not((reg.number shr 8) in is_reg_var_int) then
|
||||||
begin
|
begin
|
||||||
if not((reg.number shr 8) in usedpararegs) then
|
if not((reg.number shr 8) in usedpararegs) then
|
||||||
internalerror(2003060702);
|
internalerror(2003060702)
|
||||||
|
;
|
||||||
exclude(usedpararegs,reg.number shr 8);
|
exclude(usedpararegs,reg.number shr 8);
|
||||||
cg.a_reg_dealloc(list,reg);
|
cg.a_reg_dealloc(list,reg);
|
||||||
end
|
end
|
||||||
@ -152,7 +154,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.13 2003-06-12 22:47:52 mazen
|
Revision 1.14 2003-06-17 16:36:11 peter
|
||||||
|
* freeintparaloc added
|
||||||
|
|
||||||
|
Revision 1.13 2003/06/12 22:47:52 mazen
|
||||||
- unused temp var r removed in GetExplicitRegisterInt function
|
- unused temp var r removed in GetExplicitRegisterInt function
|
||||||
* some case added for var and fauncions naming
|
* some case added for var and fauncions naming
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user