dmd foreach loops throw exceptions on invalid UTF sequences, use replacementDchar instead
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.com
Sat Nov 6 00:36:26 UTC 2021
On 2021-11-05 16:41, Walter Bright wrote:
> On 11/5/2021 6:25 AM, Andrei Alexandrescu wrote:
>> I've been doing a fair amount of benchmarking for
>> https://amazon.com/Embracing-Modern-Safely-John-Lakos/dp/0137380356
>> and surprisingly enough the myth holds true in most cases.
>
> All the compilers I know of abandon many optimizations in the presence
> of unwind blocks.
>
> For example, register allocation of variables is not done across unwind
> blocks. This is because the unwinder does not restore register contents.
>
> A further problem is data flow analysis becomes largely ineffective
> because any operation that may throw (such as a function call to a
> throwing function) produces an edge from there to the catch block.
I know the story. It is aging. I'm telling the facts. It turns out that
modern compilers have made a lot of progress in the area.
More information about the Digitalmars-d
mailing list