[fpc-devel] Compiler trheads

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Aug 12 09:46:31 CEST 2010


On 12 Aug 2010, at 09:01, Florian Klaempfl wrote:

> The "final" plan is to use a task queue with dependencies and all  
> needed
> information. Such tasks may be: parse module X, generated code for
> module X, load module Y, search for module Y, assemble module X etc.
> Each task has a list of dependencies which much be done first before  
> the
> task can be executed.

One problem with this model currently is inlining: once the  
implementation of a unit containing an inline procedure is compiled,  
its interface crc changes (because the code of the inlined routine is  
part of the interface), and this can trigger recompilations of other  
units.

An easy solution is to not let the code of inline routine (and the  
flag that indicates that it's available) influence the interface crc,  
but in that case it won't be inlinable in units it depends on in its  
implementation. Doing that would probably solve a lot of crashes and  
other errors that currently exist with the unit loading though.


Jonas



More information about the fpc-devel mailing list