Rika Ichinose
|
0a53f40f07
Faster managed record initialization.
|
11 miesięcy temu |
Rika Ichinose
|
73d2ffcf42
Publish AddRefArray.
|
11 miesięcy temu |
Rika Ichinose
|
91d3746adf
Use FillChar in InitializeArray.
|
1 rok temu |
Sven/Sarah Barth
|
ecbd0fc0da
* move aliases of fpc_copy and fpc_copy_by_move_semantics to aliases and adjust their names to match other aliaes
|
1 rok temu |
Rika Ichinose
|
798d793cdc
Specialized fpc_copy_with_move_semantics for destructive copies.
|
1 rok temu |
Frederic Kehrein
|
ca92c49f8c
* Avoid calling copy operator when moving data from temporary objects
|
1 rok temu |
Rika Ichinose
|
b8fdd7148b
Simplify RTTIRecordOp.
|
1 rok temu |
Rika Ichinose
|
cd2c8a6539
Faster RTTIManagementAndSize -_-.
|
1 rok temu |
Rika Ichinose
|
6de766e40a
Redesign RTTISizeAndOp to return more useful information.
|
1 rok temu |
Rika Ichinose
|
d7352e7b66
Remove most of the VER3_0 conditionals.
|
1 rok temu |
Michael VAN CANNEYT
|
d2d3fe6bc3
* Char -> AnsiChar
|
3 lat temu |
Károly Balogh
|
45b5e9215c
rtl: remove defines for v2.x compiler from the common part of the RTL. It's no longer suppported to build with that
|
4 lat temu |
svenbarth
|
97c8464b11
* fix for Mantis #36738: when copying a record using its copy operator we assume that we've copied the whole record; this way managed records inside non-managed records are handled correctly
|
5 lat temu |
florian
|
931d4dcfee
* ensure the rtl and the packages for embedded compile with features exceptions and classes disabled
|
6 lat temu |
svenbarth
|
00a418f589
* also correctly align the pointer for the record elements inside FPC_COPY
|
6 lat temu |
svenbarth
|
0c46460548
* m68k has slightly different alignment requirements, so that aligntoptr might result in incorrect addresses for a record's element entries, thus we introduce a separate AlignTypeData function that handles this correctly
|
6 lat temu |
pierre
|
d6d3e171ce
Try to fix alignment issues in RTTI code for 64-bit targets which require proper alignment
|
6 lat temu |
florian
|
a60ab40237
* handle records with managed fields correctly after attribute merge fixes
|
6 lat temu |
florian
|
217ae6e4bb
* more fixes to rtti after attribute branch merging
|
6 lat temu |
svenbarth
|
a076677336
* instead of a flags field generate a table with all Initialize operators of all fields (nested or not, parent class or not) for class types; objects and records don't use this (yet)
|
7 lat temu |
svenbarth
|
8536abce8a
* as the management operator feature is not platform specific using a specific define for it aside from a
|
7 lat temu |
svenbarth
|
4d0ab82ef7
* optimize class initialization by calling RTTIRecord() only when required for a non-trivial initialization
|
7 lat temu |
svenbarth
|
393d1c2256
* move RTTI related types from rtti.inc to rttidecl.inc
|
7 lat temu |
svenbarth
|
bbf578b193
* move definition of USE_PACKED from rtti.inc to rttidecl.inc
|
7 lat temu |
svenbarth
|
8b5461367b
* move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic
|
8 lat temu |
maciej-izak
|
4154b4ca8a
* Call management operators also for records with zero-size. For that purpose was changed function RTTISize. New name for RTTISize is RTTISizeAndOp. RTTISizeAndOp can return size of required type and information about existing management operators for that type in current context (to determine context is used enum TRTTIRecOpType which is passed also as parameter in RTTISizeAndOp). RTTISizeAndOp is used in fpc_initialize_array, fpc_finalize_array, fpc_addref_array and CopyArray.
|
8 lat temu |
maciej-izak
|
9a9eb1b840
* Use RTTIRecordRttiInfoToInitInfo (when FPC_HAS_MANAGEMENT_OPERATORS is not defined) for records/objects in fpc_Copy as well as for fpc_Initialize, fpc_finalize, fpc_Addref
|
8 lat temu |
maciej-izak
|
8a68a7aea8
* Declare field RecordOp for TRecordInfoInit only when FPC_HAS_MANAGEMENT_OPERATORS is defined, same for additional types for management operators.
|
8 lat temu |
maciej-izak
|
d42428bc3c
* Initial support for management operators in RTL (rtl/inc/rtti.inc):
|
8 lat temu |
maciej-izak
|
af8e0efe57
* Rtti info about Management Operators (MO) in init table for records. Note: commit contains minimal changes for RTL (for proper "make") no functional changes. More RTL changes for fully functionally MO in next commits.
|
8 lat temu |