mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 11:09:13 +02:00
+ align RTTI tables
This commit is contained in:
parent
8e942d82bb
commit
53aa63ead1
@ -723,6 +723,7 @@ implementation
|
||||
{ global }
|
||||
verbose,
|
||||
{ target }
|
||||
aasmcpu,
|
||||
systems,
|
||||
{ symtable }
|
||||
symsym,symtable,paramgr,
|
||||
@ -1098,6 +1099,7 @@ implementation
|
||||
write_child_rtti_data(rt);
|
||||
if (cs_create_smart in aktmoduleswitches) then
|
||||
rttiList.concat(Tai_cut.Create);
|
||||
rttiList.concat(Tai_align.create(const_align(pointer_size)));
|
||||
rttiList.concat(Tai_symbol.Create(localrttilab[rt],0));
|
||||
write_rtti_data(rt);
|
||||
rttiList.concat(Tai_symbol_end.Create(localrttilab[rt]));
|
||||
@ -4881,12 +4883,14 @@ implementation
|
||||
symtable.foreach({$ifdef FPC}@{$endif}count_published_fields,nil);
|
||||
if (cs_create_smart in aktmoduleswitches) then
|
||||
rttiList.concat(Tai_cut.Create);
|
||||
rttilist.concat(tai_align.create(const_align(pointer_size)));
|
||||
rttiList.concat(Tai_label.Create(fieldtable));
|
||||
rttiList.concat(Tai_const.Create_16bit(count));
|
||||
rttiList.concat(Tai_const_symbol.Create(classtable));
|
||||
symtable.foreach({$ifdef FPC}@{$endif}writefields,nil);
|
||||
|
||||
{ generate the class table }
|
||||
rttilist.concat(tai_align.create(const_align(pointer_size)));
|
||||
rttiList.concat(Tai_label.Create(classtable));
|
||||
rttiList.concat(Tai_const.Create_16bit(tablecount));
|
||||
hp:=tclasslistitem(classtablelist.first);
|
||||
@ -5459,7 +5463,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.100 2002-10-19 15:09:25 peter
|
||||
Revision 1.101 2002-11-09 15:31:02 carl
|
||||
+ align RTTI tables
|
||||
|
||||
Revision 1.100 2002/10/19 15:09:25 peter
|
||||
+ tobjectdef.members_need_inittable that is used to generate only the
|
||||
inittable when it is really used. This saves a lot of useless calls
|
||||
to fpc_finalize when destroying classes
|
||||
|
@ -2455,6 +2455,7 @@ implementation
|
||||
def.write_child_rtti_data(fullrtti);
|
||||
if (cs_create_smart in aktmoduleswitches) then
|
||||
rttiList.concat(Tai_cut.Create);
|
||||
rttilist.concat(tai_align.create(const_align(pointer_size)));
|
||||
rttiList.concat(Tai_symbol.Create(rsym.get_label,0));
|
||||
def.write_rtti_data(fullrtti);
|
||||
rttiList.concat(Tai_symbol_end.Create(rsym.get_label));
|
||||
@ -2493,6 +2494,7 @@ implementation
|
||||
def.write_child_rtti_data(initrtti);
|
||||
if (cs_create_smart in aktmoduleswitches) then
|
||||
rttiList.concat(Tai_cut.Create);
|
||||
rttilist.concat(tai_align.create(const_align(pointer_size)));
|
||||
rttiList.concat(Tai_symbol.Create(rsym.get_label,0));
|
||||
def.write_rtti_data(initrtti);
|
||||
rttiList.concat(Tai_symbol_end.Create(rsym.get_label));
|
||||
@ -2504,7 +2506,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.70 2002-10-13 21:33:37 peter
|
||||
Revision 1.71 2002-11-09 15:30:07 carl
|
||||
+ align RTTI tables
|
||||
|
||||
Revision 1.70 2002/10/13 21:33:37 peter
|
||||
* give correct fileposition for undefined forward procs
|
||||
|
||||
Revision 1.69 2002/10/05 12:43:29 carl
|
||||
|
Loading…
Reference in New Issue
Block a user