florian
|
b1dff29cbf
* removed unused units
|
há 8 anos atrás |
svenbarth
|
f517311227
* ensure that the indirect symbols for VMT, RTTI and IID reside in the same sections as the symbols they point to -> reduces the amount of sections for them by half
|
há 8 anos atrás |
svenbarth
|
b813fc641f
* put data that's used by the VMT into the same section (that also means changing some sections from rodata_norel to rodata); this way the amount of sections per class is reduced (e.g. two for classes that inherited from a class with interfaces)
|
há 8 anos atrás |
Jonas Maebe
|
d36fe53d85
* factored out the code to create an complete alias for a procdef to
|
há 8 anos atrás |
nickysn
|
ac186eb85d
* use sizeuinttype instead of ptruinttype for the array range type in the
|
há 9 anos atrás |
nickysn
|
7d15b688e8
* TInterfaceEntry changed to a variant record, that overlays a CodePointer on
|
há 9 anos atrás |
nickysn
|
7fceb8aa1f
* use .Create_sizeuint and sizeuinttype when writing tinterfacetable.EntryCount
|
há 9 anos atrás |
Jonas Maebe
|
4c9903455e
- don't apply const_align() to alignments passed to high level typed
|
há 9 anos atrás |
nickysn
|
5e7ba4a893
* the type of FieldOffset in the TFieldInfo rtti structure changed to SizeUInt,
|
há 9 anos atrás |
nickysn
|
f62be8f6e6
* use sizesinttype instead of ptrsinttype to refer to vInstanceSize and
|
há 9 anos atrás |
yury
|
e3d9dbbeef
* Removed unused vars.
|
há 9 anos atrás |
svenbarth
|
37c32f4b61
* generate indirect symbols for interface IID and IIDSTR (fixes cycling; I wonder why that worked on Windows without problems :/ )
|
há 9 anos atrás |
svenbarth
|
fb6546972b
* IID and IIDStr references of the VMT's interface table need to be indirect
|
há 9 anos atrás |
svenbarth
|
77de5dd968
* reference assembler symbol of FPC_EMPTYMETHOD using AB_EXTERNAL and not AB_GLOBAL
|
há 9 anos atrás |
svenbarth
|
2841cd9a9e
* export IID and IIDSTR symbols of interfaces
|
há 9 anos atrás |
svenbarth
|
971d05c898
* also import procdefs that are called through the VMT
|
há 9 anos atrás |
svenbarth
|
f69b365b77
* declare various symbols as external assembler symbols: RTTI references, parent VMT, FPC_EMPTYMETHOD (all three only if it's used from a different unit), threadvar lists and symbols declared as "external"
|
há 9 anos atrás |
svenbarth
|
bb72c1c4df
* declare various assembler symbols (VMT, RTTI, threadvars) as public assembler symbols
|
há 9 anos atrás |
svenbarth
|
685f820622
* switch class'/object's parent reference in the VMT to an indirect reference
|
há 9 anos atrás |
svenbarth
|
dc21bc842a
* also generate an indirect symbol for the VMT
|
há 9 anos atrás |
Jonas Maebe
|
a0efde8167
* automatically generate necessary indirect symbols when a new assembler
|
há 9 anos atrás |
Jonas Maebe
|
1cb8c0d00c
* specify the def of assembler level symbols defined via
|
há 9 anos atrás |
Jonas Maebe
|
c0ff55e95a
* changed the abstract method wrapper generation from thlcgobj to synthetic
|
há 9 anos atrás |
svenbarth
|
7a5bac9cd3
Rework the interface table of VMTs to get rid of FPC_EMPTYINTF.
|
há 9 anos atrás |
svenbarth
|
345d83c3e3
Merge RTTI changes from packages branch (including adjustments that were required due to changes in trunk since then). These changes favor source backwards compatibility in contrast to Delphi compatibility. Binary compatiblity is however drastically broken due to the indirect references that are platform independant!
|
há 9 anos atrás |
svenbarth
|
9857a27ad8
Generate and use an indirect symbol for VMTs.
|
há 9 anos atrás |
svenbarth
|
557f74cdbd
(Note to self: always include the root of the working copy in the commit when dealing with merges -.-)
|
há 9 anos atrás |
Jonas Maebe
|
7b89072d88
* fixed external wrapper generation on llvm
|
há 9 anos atrás |
yury
|
b26fa07f1a
* Fixed notes "var is assigned but not used".
|
há 10 anos atrás |
Jonas Maebe
|
919bce9819
* also construct the high level code generator for high level targets; they
|
há 10 anos atrás |