Commit History

作者 SHA1 備註 提交日期
  Jonas Maebe d35377fdee * workaround for debug info for interface method wrappers: give them the 7 年之前
  svenbarth 530213711f * change the class references in a class' field table to indirect references 7 年之前
  florian b1dff29cbf * removed unused units 8 年之前
  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 8 年之前
  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) 8 年之前
  Jonas Maebe d36fe53d85 * factored out the code to create an complete alias for a procdef to 8 年之前
  nickysn ac186eb85d * use sizeuinttype instead of ptruinttype for the array range type in the 8 年之前
  nickysn 7d15b688e8 * TInterfaceEntry changed to a variant record, that overlays a CodePointer on 8 年之前
  nickysn 7fceb8aa1f * use .Create_sizeuint and sizeuinttype when writing tinterfacetable.EntryCount 8 年之前
  Jonas Maebe 4c9903455e - don't apply const_align() to alignments passed to high level typed 8 年之前
  nickysn 5e7ba4a893 * the type of FieldOffset in the TFieldInfo rtti structure changed to SizeUInt, 8 年之前
  nickysn f62be8f6e6 * use sizesinttype instead of ptrsinttype to refer to vInstanceSize and 8 年之前
  yury e3d9dbbeef * Removed unused vars. 9 年之前
  svenbarth 37c32f4b61 * generate indirect symbols for interface IID and IIDSTR (fixes cycling; I wonder why that worked on Windows without problems :/ ) 9 年之前
  svenbarth fb6546972b * IID and IIDStr references of the VMT's interface table need to be indirect 9 年之前
  svenbarth 77de5dd968 * reference assembler symbol of FPC_EMPTYMETHOD using AB_EXTERNAL and not AB_GLOBAL 9 年之前
  svenbarth 2841cd9a9e * export IID and IIDSTR symbols of interfaces 9 年之前
  svenbarth 971d05c898 * also import procdefs that are called through the VMT 9 年之前
  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" 9 年之前
  svenbarth bb72c1c4df * declare various assembler symbols (VMT, RTTI, threadvars) as public assembler symbols 9 年之前
  svenbarth 685f820622 * switch class'/object's parent reference in the VMT to an indirect reference 9 年之前
  svenbarth dc21bc842a * also generate an indirect symbol for the VMT 9 年之前
  Jonas Maebe a0efde8167 * automatically generate necessary indirect symbols when a new assembler 9 年之前
  Jonas Maebe 1cb8c0d00c * specify the def of assembler level symbols defined via 9 年之前
  Jonas Maebe c0ff55e95a * changed the abstract method wrapper generation from thlcgobj to synthetic 9 年之前
  svenbarth 7a5bac9cd3 Rework the interface table of VMTs to get rid of FPC_EMPTYINTF. 9 年之前
  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 年之前
  svenbarth 9857a27ad8 Generate and use an indirect symbol for VMTs. 9 年之前
  svenbarth 557f74cdbd (Note to self: always include the root of the working copy in the commit when dealing with merges -.-) 9 年之前
  Jonas Maebe 7b89072d88 * fixed external wrapper generation on llvm 9 年之前