I just fixed gotos again.
While researching unusually large performance drops, I found the cause for a rather nasty bug. (It was an off-by-one error again :))

It turned out that there were circumstances where some gotos would be dropped and the corresponding fixup jumps where never emitted.

Due to a curious situation in the dmd ast, I had to make jumps without addresses into nops.
This was hiding the bug.

BTW supporting NOPS has been a huge pain for some time now.
I will look into fixing my dmd-ast handling to make them unnecessary. Jumps that don't know where they are supposed to go should not be ignored but an error instead!

Reply via email to