[fpc-devel] Redefine FillChar() to use out parameter instead
Jonas Maebe
jonas.maebe at elis.ugent.be
Thu Nov 19 11:44:35 CET 2009
On 19 Nov 2009, at 11:24, Graeme Geldenhuys wrote:
> Paul Ishenin wrote:
>>
>> Compiler will add a flag for each var/const argument that they dont
>> require that checks.
>
> Can't the compiler simply initialize structured types by default?
The compiler already initialises the reference counted fields of
structured types by default, because otherwise the code would crash.
The rest is not initialised.
> Initialize char arrays to empty strings, other structures like
> pointers
> to nil, byte arrays to #0 etc..?
Yes, the compiler can do that, at a cost. Here's the speed impact on
the compiler itself: http://lists.apple.com/archives/objc-language/2009/Sep/msg00094.html
(a more "optimized version" turned out to be slower, because it
zeroed more data).
> After all, this is already done for AnsString, Integer type, real
> types
> etc...
It is done for reference counted types (such as ansistring,
widestring, non-corba interfaces, ...). It is /not/ done for integer,
real, etc.
You may be confused by the fact that all global variables are zero on
startup.
Jonas
More information about the fpc-devel
mailing list