[fpc-devel] -Oodfa

Florian Klämpfl florian at freepascal.org
Fri Dec 30 12:18:03 CET 2011


Am 30.12.2011 12:13, schrieb Sergei Gorelkin:
> 30.12.2011 14:42, Jonas Maebe пишет:
>>
>> On 30 Dec 2011, at 10:26, Florian Klämpfl wrote:
>>
>>> Beta. I'am not aware of any missing stuff, but it's mainly untested.
>>
>> I tried to activate by default it during the development of the JVM
>> port (since the JVM will abort if it detects an uninitialized read),
>> but it caused compiler crashes. I'll see if I can create isolated test
>> cases.
>>
> The present DFA doesn't work for code which uses exceptions, 

Indeed, I can fix this.

> including
> implicit exception handling (read: a good 50% of all codebase).
> In the meantime I tried adapting DFA, or more precisely, definite
> assignment analyzer, from Mono compiler (Mantis #15523). It uses a
> different approach, which works fine with exceptions, but is not suited
> well (if at all) for determining live range of variables. See notes on
> Mantis #15523 for details.

15523 has different aims than optdfa.

> With #15523 applied, the compiler can be cycled, but it emits hundreds
> of warnings which have to be fixed because cycling is done with -Sew
> these days. In particular, we have to solve the FillChar() issue before
> any DFA is enabled by default.

I played with this yesterday and what about extended Initialize to
support unmanaged types? In case of an unmanaged type it just calls
fillchar.



More information about the fpc-devel mailing list