* new volatile registers proc

This commit is contained in:
peter 2003-09-14 21:35:15 +00:00
parent 3ccd30efde
commit 46e1925e11
2 changed files with 24 additions and 9 deletions

View File

@ -103,11 +103,6 @@ uses
{$i rspstab.inc}
);
{ registers which may be destroyed by calls }
VOLATILE_INTREGISTERS = [RS_G1];
{$warning FIXME!!}
VOLATILE_FPUREGISTERS = [];
{*****************************************************************************
Conditions
@ -626,7 +621,10 @@ implementation
end.
{
$Log$
Revision 1.50 2003-09-14 19:19:05 peter
Revision 1.51 2003-09-14 21:35:15 peter
* new volatile registers proc
Revision 1.50 2003/09/14 19:19:05 peter
* updates for new ra
Revision 1.49 2003/09/03 16:29:37 peter

View File

@ -25,7 +25,7 @@ unit cpupara;
interface
uses
cpubase,
cpubase,cginfo,
aasmtai,globtype,
symconst,symbase,symtype,symdef,paramgr;
@ -33,6 +33,8 @@ interface
TSparcParaManager=class(TParaManager)
function copy_value_on_stack(def : tdef;calloption : tproccalloption) : boolean;override;
function push_addr_param(def : tdef;calloption : tproccalloption) : boolean;override;
function get_volatile_registers_int(calloption : tproccalloption):tsuperregisterset;override;
function get_volatile_registers_fpu(calloption : tproccalloption):tsuperregisterset;override;
{Returns a structure giving the information on the storage of the parameter
(which must be an integer parameter)
@param(nr Parameter number of routine, starting from 1)}
@ -48,7 +50,7 @@ implementation
uses
verbose,
cpuinfo,cginfo,cgbase,
cpuinfo,cgbase,
defutil,rgobj;
function tsparcparamanager.copy_value_on_stack(def : tdef;calloption : tproccalloption) : boolean;
@ -79,6 +81,18 @@ implementation
end;
function tsparcparamanager.get_volatile_registers_int(calloption : tproccalloption):tsuperregisterset;
begin
result:=[RS_G1];
end;
function tsparcparamanager.get_volatile_registers_fpu(calloption : tproccalloption):tsuperregisterset;
begin
result:=[first_fpu_supreg..last_fpu_supreg];;
end;
function TSparcParaManager.GetIntParaLoc(calloption : tproccalloption; nr : longint) : tparalocation;
begin
if nr<1 then
@ -271,7 +285,10 @@ begin
end.
{
$Log$
Revision 1.29 2003-09-14 19:19:05 peter
Revision 1.30 2003-09-14 21:35:15 peter
* new volatile registers proc
Revision 1.29 2003/09/14 19:19:05 peter
* updates for new ra
Revision 1.28 2003/09/03 15:55:01 peter