CTFE Status
Stefan Koch via Digitalmars-d
digitalmars-d at puremagic.com
Fri Nov 4 18:21:48 PDT 2016
On Friday, 4 November 2016 at 10:59:25 UTC, Marc Schütz wrote:
>
> In this case better make sure to remove the resulting dead code
> from the old interpreter, otherwise it will become and
> unmaintainable mess in the long run.
If you ask me the old interpreter is already an unmaintainble
mess.
It will not be possible to remove code since the old interpreter
and the new one do not share any common state or code-paths.
Therefore all evaluation-capabilty the old interpreter has must
be retained otherwise it would not be useful anymore.
I thought about it some more, and decided that I will replace the
old interpreter completely in the long run.
However in order to get something release before 2017, I have to
rely on it being there.
I recently lost 3 days of work because of my git-skills.
Now I am working on simplyfing the cases the interpreter can get
into.
Before I would do some optimisation to avoid temporaries and the
like.
Since I now have the llvm-backend to verify the code is correct
it's no longer crucial in order to be able to debug.
This simplification will (hopefully) finally enable me to proper
handling of boolean-expressions.
I suspect that most of the invalid code I generated came from a
bug in the "temporaries-avoidance optimisation"
Also I will put some effort into documenting the new engine
better.
However code-gen bugs take priority over documentation.
More information about the Digitalmars-d
mailing list