Rika Ichinose
|
0a53f40f07
Faster managed record initialization.
|
8 meses atrás |
Rika Ichinose
|
73d2ffcf42
Publish AddRefArray.
|
8 meses atrás |
Rika Ichinose
|
91d3746adf
Use FillChar in InitializeArray.
|
1 ano atrás |
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
|
11 meses atrás |
Rika Ichinose
|
798d793cdc
Specialized fpc_copy_with_move_semantics for destructive copies.
|
11 meses atrás |
Frederic Kehrein
|
ca92c49f8c
* Avoid calling copy operator when moving data from temporary objects
|
11 meses atrás |
Rika Ichinose
|
b8fdd7148b
Simplify RTTIRecordOp.
|
1 ano atrás |
Rika Ichinose
|
cd2c8a6539
Faster RTTIManagementAndSize -_-.
|
1 ano atrás |
Rika Ichinose
|
6de766e40a
Redesign RTTISizeAndOp to return more useful information.
|
1 ano atrás |
Rika Ichinose
|
d7352e7b66
Remove most of the VER3_0 conditionals.
|
1 ano atrás |
Michael VAN CANNEYT
|
d2d3fe6bc3
* Char -> AnsiChar
|
2 anos atrás |
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 anos atrás |
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 anos atrás |
florian
|
931d4dcfee
* ensure the rtl and the packages for embedded compile with features exceptions and classes disabled
|
5 anos atrás |
svenbarth
|
00a418f589
* also correctly align the pointer for the record elements inside FPC_COPY
|
6 anos atrás |
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 anos atrás |
pierre
|
d6d3e171ce
Try to fix alignment issues in RTTI code for 64-bit targets which require proper alignment
|
6 anos atrás |
florian
|
a60ab40237
* handle records with managed fields correctly after attribute merge fixes
|
6 anos atrás |
florian
|
217ae6e4bb
* more fixes to rtti after attribute branch merging
|
6 anos atrás |
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 anos atrás |
svenbarth
|
8536abce8a
* as the management operator feature is not platform specific using a specific define for it aside from a
|
7 anos atrás |
svenbarth
|
4d0ab82ef7
* optimize class initialization by calling RTTIRecord() only when required for a non-trivial initialization
|
7 anos atrás |
svenbarth
|
393d1c2256
* move RTTI related types from rtti.inc to rttidecl.inc
|
7 anos atrás |
svenbarth
|
bbf578b193
* move definition of USE_PACKED from rtti.inc to rttidecl.inc
|
7 anos atrás |
svenbarth
|
8b5461367b
* move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic
|
8 anos atrás |
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 anos atrás |
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 anos atrás |
maciej-izak
|
8a68a7aea8
* Declare field RecordOp for TRecordInfoInit only when FPC_HAS_MANAGEMENT_OPERATORS is defined, same for additional types for management operators.
|
8 anos atrás |
maciej-izak
|
d42428bc3c
* Initial support for management operators in RTL (rtl/inc/rtti.inc):
|
8 anos atrás |
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 anos atrás |