[fpc-devel] Twice stored record RTTI data
Maciej Izak
hnb.code at gmail.com
Wed Mar 2 00:48:03 CET 2016
2016-03-02 0:16 GMT+01:00 Sven Barth <pascaldragon at googlemail.com>:
> This is by design and your patch would break existing code anyway.
>
> The init RTTI contains merely those fields that need initialization
> (namely interfaces, strings and dynamic arrays) and which is used for the
> fpc_initialize(), fpc_finalize() and fpc_assign() helpers while the full
> RTTI contains all typed, even those that don't need initialization. Please
> note that not all types need a separate init RTTI (e.g. classes), but
> records do (this is determined by needs_separate_init_rtti that each def
> overrides).
>
my patch was created only on Michael request. ;) thanks for clarification,
that makes sense, it works as expected (my second email as a proof). As far
as i understand is possible to divide record RTTI data on INIT table and
RTTI table.
INIT table:
-record size
-managed fields
-management operators (done in my branch, not committed yet)
RTTI table (eventually TODO):
-attributes
-other operators
-other info about properties and methods etc.
RTTI table in most of cases includes also most of INIT table data (probably
full copy).
--
Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20160302/8df8d01c/attachment.html>
More information about the fpc-devel
mailing list