+ target_info.size_of_pointer -> pointer_Size

This commit is contained in:
carl 2002-04-15 18:57:22 +00:00
parent 0244975cff
commit 5befcda7e5
10 changed files with 88 additions and 58 deletions

View File

@ -1756,11 +1756,11 @@ implementation
begin
inherited create(procinlinen);
inlineprocdef:=tcallnode(callp).symtableprocentry.defs^.def;
retoffset:=-target_info.size_of_pointer; { less dangerous as zero (PM) }
retoffset:=-pointer_size; { less dangerous as zero (PM) }
para_offset:=0;
para_size:=inlineprocdef.para_size(target_info.alignment.paraalign);
if ret_in_param(inlineprocdef.rettype.def) then
inc(para_size,target_info.size_of_pointer);
inc(para_size,pointer_size);
{ copy args }
if assigned(code) then
inlinetree:=code.getcopy
@ -1827,7 +1827,10 @@ begin
end.
{
$Log$
Revision 1.67 2002-04-02 17:11:28 peter
Revision 1.68 2002-04-15 18:57:22 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.67 2002/04/02 17:11:28 peter
* tlocation,treference update
* LOC_CONSTANT added for better constant handling
* secondadd splitted in multiple routines

View File

@ -377,7 +377,7 @@ implementation
{ if usetemp is set the value must be in tmpreg }
if usetemp then
begin
tg.gettempofsizereference(exprasmlist,target_info.size_of_pointer,withreference);
tg.gettempofsizereference(exprasmlist,pointer_size,withreference);
tg.normaltemptopersistant(withreference.offset);
{ move to temp reference }
cg.a_load_reg_ref(exprasmlist,OS_ADDR,tmpreg,withreference);
@ -450,7 +450,10 @@ begin
end.
{
$Log$
Revision 1.6 2002-04-04 19:05:57 peter
Revision 1.7 2002-04-15 18:58:47 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.6 2002/04/04 19:05:57 peter
* removed unused units
* use tlocation.size in cg.a_*loc*() routines

View File

@ -99,7 +99,7 @@ implementation
cg.a_loadaddr_ref_reg(exprasmlist,p.location.reference,
scratchreg);
reference_release(exprasmlist,p.location.reference);
tg.gettempofsizereference(exprasmlist,target_info.size_of_pointer,href);
tg.gettempofsizereference(exprasmlist,pointer_size,href);
cg.a_load_reg_ref(exprasmlist,OS_ADDR,scratchreg,href);
cg.free_scratch_reg(exprasmlist,scratchreg);
p.temp_offset:=href.offset;
@ -213,7 +213,10 @@ end.
{
$Log$
Revision 1.6 2002-04-06 18:10:42 jonas
Revision 1.7 2002-04-15 18:58:47 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.6 2002/04/06 18:10:42 jonas
* several powerpc-related additions and fixes
Revision 1.5 2002/04/04 19:05:57 peter

View File

@ -140,7 +140,7 @@ implementation
{$ifdef GDB}
gdb,
{$endif GDB}
systems
cpubase
;
@ -949,12 +949,12 @@ implementation
{ allocate a pointer in the object memory }
with tstoredsymtable(_class.symtable) do
begin
if (dataalignment>=target_info.size_of_pointer) then
if (dataalignment>=pointer_size) then
datasize:=align(datasize,dataalignment)
else
datasize:=align(datasize,target_info.size_of_pointer);
datasize:=align(datasize,pointer_size);
_class.implementedinterfaces.ioffsets(i)^:=datasize;
datasize:=datasize+target_info.size_of_pointer;
datasize:=datasize+pointer_size;
end;
{ write vtbl }
gintfcreatevtbl(i,rawdata,rawcode);
@ -1280,7 +1280,10 @@ initialization
end.
{
$Log$
Revision 1.13 2002-02-11 18:51:35 peter
Revision 1.14 2002-04-15 18:59:07 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.13 2002/02/11 18:51:35 peter
* fixed vmt generation for private procedures that were skipped after
my previous changes

View File

@ -67,7 +67,7 @@ implementation
cutils,cclasses,
{ global }
globtype,globals,verbose,
systems,
systems,cpubase,
{ aasm }
aasm,
{ symtable }
@ -610,7 +610,7 @@ implementation
if lexlevel>normal_function_level then
begin
procinfo^.framepointer_offset:=paramoffset;
inc(paramoffset,target_info.size_of_pointer);
inc(paramoffset,pointer_size);
{ this is needed to get correct framepointer push for local
forward functions !! }
aktprocdef.parast.symtablelevel:=lexlevel;
@ -619,7 +619,7 @@ implementation
if assigned (procinfo^._Class) and
is_object(procinfo^._Class) and
(aktprocdef.proctypeoption in [potype_constructor,potype_destructor]) then
inc(paramoffset,target_info.size_of_pointer);
inc(paramoffset,pointer_size);
{ self pointer offset }
{ self isn't pushed in nested procedure of methods }
@ -628,14 +628,14 @@ implementation
procinfo^.selfpointer_offset:=paramoffset;
if assigned(aktprocdef) and
not(po_containsself in aktprocdef.procoptions) then
inc(paramoffset,target_info.size_of_pointer);
inc(paramoffset,pointer_size);
end;
{ con/-destructor flag ? }
if assigned (procinfo^._Class) and
is_class(procinfo^._class) and
(aktprocdef.proctypeoption in [potype_destructor,potype_constructor]) then
inc(paramoffset,target_info.size_of_pointer);
inc(paramoffset,pointer_size);
procinfo^.para_offset:=paramoffset;
@ -2017,7 +2017,10 @@ const
end.
{
$Log$
Revision 1.48 2002-03-29 13:29:32 peter
Revision 1.49 2002-04-15 19:00:33 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.48 2002/03/29 13:29:32 peter
* fixed memory corruption created by previous fix
Revision 1.47 2002/03/29 11:23:24 michael

View File

@ -1077,8 +1077,8 @@ implementation
{ replace framepointer with stackpointer }
procinfo^.framepointer:=stack_pointer;
{ set the right value for parameters }
dec(aktprocdef.parast.address_fixup,target_info.size_of_pointer);
dec(procinfo^.para_offset,target_info.size_of_pointer);
dec(aktprocdef.parast.address_fixup,pointer_size);
dec(procinfo^.para_offset,pointer_size);
{ replace all references to parameters in the instructions,
the parameters can be identified by the parafixup option
that is set. For normal user coded [ebp+4] this field is not
@ -1202,7 +1202,10 @@ implementation
end.
{
$Log$
Revision 1.50 2002-04-14 16:53:54 carl
Revision 1.51 2002-04-15 19:01:28 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.50 2002/04/14 16:53:54 carl
+ asm statement uses ALL_REGISTERS
Revision 1.49 2002/03/31 20:26:36 jonas

View File

@ -641,7 +641,7 @@ implementation
if ret_in_param(aktprocdef.rettype.def) then
begin
procinfo^.return_offset:=procinfo^.para_offset;
inc(procinfo^.para_offset,target_info.size_of_pointer);
inc(procinfo^.para_offset,pointer_size);
end;
{ allows to access the parameters of main functions in nested functions }
aktprocdef.parast.address_fixup:=procinfo^.para_offset;
@ -817,7 +817,10 @@ implementation
end.
{
$Log$
Revision 1.46 2002-04-04 18:45:19 carl
Revision 1.47 2002-04-15 19:01:28 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.46 2002/04/04 18:45:19 carl
+ added wdosx support (patch from Pavel)
Revision 1.45 2002/03/31 20:26:36 jonas

View File

@ -43,7 +43,7 @@ implementation
{$endif Delphi}
globtype,systems,tokens,
cutils,globals,widestr,scanner,
symconst,symbase,symdef,aasm,cpuasm,types,verbose,
symconst,symbase,symdef,aasm,cpuasm,types,verbose,cpubase,
{ pass 1 }
node,
nmat,nadd,ncal,nmem,nset,ncnv,ninl,ncon,nld,nflw,
@ -918,7 +918,7 @@ implementation
curconstsegment.concat(tai_const.create_8bit(0));
curconstsegment.concat(tai_const_symbol.createname(tobjectdef(t.def).vmt_mangledname));
{ this is more general }
aktpos:=tobjectdef(t.def).vmt_offset + target_info.size_of_pointer;
aktpos:=tobjectdef(t.def).vmt_offset + pointer_size;
end;
{ if needed fill }
@ -945,7 +945,7 @@ implementation
curconstsegment.concat(tai_const.create_8bit(0));
curconstsegment.concat(tai_const_symbol.createname(tobjectdef(t.def).vmt_mangledname));
{ this is more general }
aktpos:=tobjectdef(t.def).vmt_offset + target_info.size_of_pointer;
aktpos:=tobjectdef(t.def).vmt_offset + pointer_size;
end;
for i:=1 to t.def.size-aktpos do
curconstSegment.concat(Tai_const.Create_8bit(0));
@ -970,7 +970,10 @@ implementation
end.
{
$Log$
Revision 1.42 2002-04-04 19:06:03 peter
Revision 1.43 2002-04-15 19:01:53 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.42 2002/04/04 19:06:03 peter
* removed unused units
* use tlocation.size in cg.a_*loc*() routines

View File

@ -868,7 +868,7 @@ Begin
if (tvarsym(sym).varspez=vs_var) or
((tvarsym(sym).varspez=vs_const) and
push_addr_param(tvarsym(sym).vartype.def)) then
SetSize(target_info.size_of_pointer,false);
SetSize(pointer_size,false);
end;
localsymtable :
begin
@ -908,7 +908,7 @@ Begin
if (tvarsym(sym).varspez in [vs_var,vs_out]) or
((tvarsym(sym).varspez=vs_const) and
push_addr_param(tvarsym(sym).vartype.def)) then
SetSize(target_info.size_of_pointer,false);
SetSize(pointer_size,false);
end;
end;
case tvarsym(sym).vartype.def.deftype of
@ -1585,7 +1585,10 @@ end;
end.
{
$Log$
Revision 1.28 2002-04-02 17:11:29 peter
Revision 1.29 2002-04-15 19:02:35 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.28 2002/04/02 17:11:29 peter
* tlocation,treference update
* LOC_CONSTANT added for better constant handling
* secondadd splitted in multiple routines

View File

@ -1157,7 +1157,7 @@ implementation
string_typ:=st_longstring;
deftype:=stringdef;
len:=l;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -1167,7 +1167,7 @@ implementation
deftype:=stringdef;
string_typ:=st_longstring;
len:=ppufile.getlongint;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -1177,7 +1177,7 @@ implementation
string_typ:=st_ansistring;
deftype:=stringdef;
len:=l;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -1187,7 +1187,7 @@ implementation
deftype:=stringdef;
string_typ:=st_ansistring;
len:=ppufile.getlongint;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -1197,7 +1197,7 @@ implementation
string_typ:=st_widestring;
deftype:=stringdef;
len:=l;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -1207,7 +1207,7 @@ implementation
deftype:=stringdef;
string_typ:=st_widestring;
len:=ppufile.getlongint;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -2138,7 +2138,7 @@ implementation
deftype:=pointerdef;
pointertype:=tt;
is_far:=false;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -2148,7 +2148,7 @@ implementation
deftype:=pointerdef;
pointertype:=tt;
is_far:=true;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -2158,7 +2158,7 @@ implementation
deftype:=pointerdef;
ppufile.gettype(pointertype);
is_far:=(ppufile.getbyte<>0);
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -2266,7 +2266,7 @@ implementation
deftype:=classrefdef;
ppufile.gettype(pointertype);
is_far:=false;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -2468,7 +2468,7 @@ implementation
tsymtable(current_module.localsymtable).registerdef(self)
else if assigned(current_module.globalsymtable) then
tsymtable(current_module.globalsymtable).registerdef(self);
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -2476,7 +2476,7 @@ implementation
begin
inherited loaddef(ppufile);
deftype:=formaldef;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -2633,7 +2633,7 @@ implementation
begin
if IsDynamicArray then
begin
size:=target_info.size_of_pointer;
size:=pointer_size;
exit;
end;
{Tarraydef.size may never be called for an open array!}
@ -2997,7 +2997,7 @@ implementation
rettype:=voidtype;
symtablelevel:=0;
fpu_used:=0;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
end;
@ -3072,7 +3072,7 @@ implementation
proccalloption:=tproccalloption(ppufile.getbyte);
ppufile.getsmallset(procoptions);
count:=ppufile.getword;
savesize:=target_info.size_of_pointer;
savesize:=pointer_size;
for i:=1 to count do
begin
hp:=TParaItem.Create;
@ -3130,10 +3130,10 @@ implementation
begin
case pdc.paratyp of
vs_out,
vs_var : inc(l,target_info.size_of_pointer);
vs_var : inc(l,pointer_size);
vs_value,
vs_const : if push_addr_param(pdc.paratype.def) then
inc(l,target_info.size_of_pointer)
inc(l,pointer_size)
else
inc(l,pdc.paratype.def.size);
end;
@ -3851,9 +3851,9 @@ implementation
function tprocvardef.size : longint;
begin
if (po_methodpointer in procoptions) then
size:=2*target_info.size_of_pointer
size:=2*pointer_size
else
size:=target_info.size_of_pointer;
size:=pointer_size;
end;
@ -4181,7 +4181,7 @@ implementation
inc(symtable.datasize,c.symtable.datasize);
if (oo_has_vmt in objectoptions) and
(oo_has_vmt in c.objectoptions) then
dec(symtable.datasize,target_info.size_of_pointer);
dec(symtable.datasize,pointer_size);
{ if parent has a vmt field then
the offset is the same for the child PM }
if (oo_has_vmt in c.objectoptions) or is_class(self) then
@ -4205,7 +4205,7 @@ implementation
begin
symtable.datasize:=align(symtable.datasize,symtable.dataalignment);
vmt_offset:=symtable.datasize;
inc(symtable.datasize,target_info.size_of_pointer);
inc(symtable.datasize,pointer_size);
include(objectoptions,oo_has_vmt);
end;
end;
@ -4292,7 +4292,7 @@ implementation
function tobjectdef.size : longint;
begin
if objecttype in [odt_class,odt_interfacecom,odt_interfacecorba] then
size:=target_info.size_of_pointer
size:=pointer_size
else
size:=symtable.datasize;
end;
@ -4309,14 +4309,14 @@ implementation
{ for offset of methods for classes, see rtl/inc/objpash.inc }
case objecttype of
odt_class:
vmtmethodoffset:=(index+12)*target_info.size_of_pointer;
vmtmethodoffset:=(index+12)*pointer_size;
odt_interfacecom,odt_interfacecorba:
vmtmethodoffset:=index*target_info.size_of_pointer;
vmtmethodoffset:=index*pointer_size;
else
{$ifdef WITHDMT}
vmtmethodoffset:=(index+4)*target_info.size_of_pointer;
vmtmethodoffset:=(index+4)*pointer_size;
{$else WITHDMT}
vmtmethodoffset:=(index+3)*target_info.size_of_pointer;
vmtmethodoffset:=(index+3)*pointer_size;
{$endif WITHDMT}
end;
end;
@ -5419,7 +5419,10 @@ implementation
end.
{
$Log$
Revision 1.69 2002-04-14 16:55:43 carl
Revision 1.70 2002-04-15 19:06:34 carl
+ target_info.size_of_pointer -> pointer_Size
Revision 1.69 2002/04/14 16:55:43 carl
+ replace some stuff by ALL_REGISTERS
Revision 1.68 2002/04/02 17:11:29 peter
@ -5479,7 +5482,7 @@ end.
* torddef low/high range changed to int64
Revision 1.58 2001/11/30 15:01:51 jonas
* tarraydef.size returns target_info.size_of_pointer instead of 4 for
* tarraydef.size returns pointer_size instead of 4 for
dynamic arrays
Revision 1.57 2001/11/18 18:43:14 peter