svenbarth
|
bb72c1c4df
* declare various assembler symbols (VMT, RTTI, threadvars) as public assembler symbols
|
9 tahun lalu |
svenbarth
|
685f820622
* switch class'/object's parent reference in the VMT to an indirect reference
|
9 tahun lalu |
svenbarth
|
dc21bc842a
* also generate an indirect symbol for the VMT
|
9 tahun lalu |
Jonas Maebe
|
a0efde8167
* automatically generate necessary indirect symbols when a new assembler
|
9 tahun lalu |
Jonas Maebe
|
1cb8c0d00c
* specify the def of assembler level symbols defined via
|
9 tahun lalu |
Jonas Maebe
|
c0ff55e95a
* changed the abstract method wrapper generation from thlcgobj to synthetic
|
9 tahun lalu |
svenbarth
|
7a5bac9cd3
Rework the interface table of VMTs to get rid of FPC_EMPTYINTF.
|
9 tahun lalu |
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!
|
9 tahun lalu |
svenbarth
|
9857a27ad8
Generate and use an indirect symbol for VMTs.
|
9 tahun lalu |
svenbarth
|
557f74cdbd
(Note to self: always include the root of the working copy in the commit when dealing with merges -.-)
|
9 tahun lalu |
Jonas Maebe
|
7b89072d88
* fixed external wrapper generation on llvm
|
9 tahun lalu |
yury
|
b26fa07f1a
* Fixed notes "var is assigned but not used".
|
10 tahun lalu |
Jonas Maebe
|
919bce9819
* also construct the high level code generator for high level targets; they
|
10 tahun lalu |
Jonas Maebe
|
c7a418829b
* support for implementing interface method wrappers at the node tree
|
10 tahun lalu |
Jonas Maebe
|
be2ec5be59
* write full/init rtti and VMTs separately instead of at the same time
|
10 tahun lalu |
Jonas Maebe
|
b4e61b2469
* enable the llvm code generator for VMT generation
|
10 tahun lalu |
Jonas Maebe
|
2cfc3ca4d1
* end the vmtdef aggregate so appropriate padding is inserted (if necessary)
|
10 tahun lalu |
Jonas Maebe
|
6f4fe415e9
* support specifying the alignment of the start of an anonymous record
|
10 tahun lalu |
Jonas Maebe
|
b55c7df996
* factored out internal type prefixes
|
10 tahun lalu |
Jonas Maebe
|
508828958c
* changed getprocaddressprocvar() into a tprocvardef.getreusableprocaddr()
|
10 tahun lalu |
Jonas Maebe
|
f40ea04540
* changed getarraydef() into a tarraydef.getreusable() class method
|
10 tahun lalu |
Jonas Maebe
|
f402b0d7df
* changed getpointerdef() into a tpointerdef.getreusable() class method
|
10 tahun lalu |
Jonas Maebe
|
3597e710b6
* fixed several VMT element types to correspond to the types used to
|
10 tahun lalu |
Jonas Maebe
|
3f736f6114
* handle the loading of VMT entries at the node level, so it's done in a
|
10 tahun lalu |
Jonas Maebe
|
bd8079f896
* cache and reuse procvardefs internally created to get the address of a
|
10 tahun lalu |
Jonas Maebe
|
3be51e1455
* fixed endless recursion in tabstractrecorddef.contains_float_field() in
|
10 tahun lalu |
nickysn
|
9c52c98b77
* use default_settings.packrecords, instead of 0 (since that's different for
|
10 tahun lalu |
Jonas Maebe
|
69e7b06cef
* converted rest of VMT generation to high level typed const builder
|
10 tahun lalu |
Jonas Maebe
|
25e6eaf07f
* store the to be used recordalignmin and maxcrecordalign settings inside
|
10 tahun lalu |
Jonas Maebe
|
687bb15299
* renamed getdatalabel() to getglobaldatalabel
|
10 tahun lalu |