[fpc-devel] Delphi smart-linking perspective ( Language change and implementation ... )

Jonas Maebe jonas.maebe at elis.ugent.be
Sun May 31 10:48:54 CEST 2009

On 31 May 2009, at 10:38, Paul Ishenin wrote:

> Jonas Maebe wrote:
>> I don't think it is very specific to .NET. We use similar  
>> techniques for e.g. cthreads and cwstring under Unix. And I also  
>> used it in the fix forhttp://bugs.freepascal.org/view.php?id=12704
> So will be this added to the fpc?

I don't know. The way we used that sort of technique currently is  
manually (either using unit plugging, or referencing data only the  
first time a related function is called, so regular smart linking can  
leave it out).

Also, I bet that in spite of the big warning in that blog post saying:

  "Beware of cycles! If you have several classes with class  
constructors within the same unit and they all refer to one-another,  
the ordering may be indeterminate and you may end up with strange  
results or even crashes."

that people will still insist that we reverse-engineer and implement  
exactly the same indeterminate/undocumented behaviour as Delphi has  
(just like when you have cycles in unit dependencies).

>> Yes, the but the results are not very impressive. The reason is due  
>> to the way the LCL is constructed, almost every declared class can  
>> theoretically be instantiated. On the other hand, I read that  
>> recently the LCL was restructured a bit to improve the situation,  
>> so maybe the results would be better now.
> Yes, we made a refactoring and as result empty form + button  
> application weights 200Kb less now. Can you check, maybe now WPO  
> results can be more impressive?



More information about the fpc-devel mailing list