[fpc-devel] NoGlobals branch
DrDiettrich1 at aol.com
Thu Aug 12 07:42:39 CEST 2010
Marco van de Voort schrieb:
> In our previous episode, Hans-Peter Diettrich said:
>> How would you count an level, when multiple concurrent parser threads
>> create further threads concurrently?
> Hmm, I think a producer/consumer system with a queue for modules that can be
> compiled and N worker threads (specifiable by user)
Your suggestion doesn't solve the problem of level counting, where in
fact only the first level (main module, started from the commandline) is
of interest, the exact "depth" of other module processing is of no interest.
The observed problem is not the counting itself, but the exact point in
the workflow, when the compiler should go back into level one (or zero)
state, indicating "generate final binary for the main module". This is
not clear from the given code, and led to strange errors in my first test.
Furthermore we should consider to handle multiple main modules
(projects), that can be built in one go - since they are all based on
the same RTL and other standard units, that deserve loading/compiling
only once. That's why we IMO have to figure out, what special "final"
mode should be entered, for every main module, at which point in the
workflow, and what should happen when that point is reached.
More information about the fpc-devel