mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-22 19:29:09 +02:00
* new volatile registers proc
This commit is contained in:
parent
3ccd30efde
commit
46e1925e11
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user