Battle-plan for CTFE
    Stefan Koch via Digitalmars-d-announce 
    digitalmars-d-announce at puremagic.com
       
    Mon May  9 09:57:39 PDT 2016
    
    
  
Hi Guys,
I have been looking into the DMD now to see what I can do about 
CTFE.
Unfortunately It is a pretty big mess to untangle.
Code responsible for CTFE is in at least 3 files.
[dinterpret.d, ctfeexpr.d, constfold.d]
I was shocked to discover that the PowExpression actually depends 
on phobos! (depending on the exact codePath it may or may not 
compile...)
which let to me prematurely stating that it worked at ctfe 
[http://forum.dlang.org/thread/ukcoibejffinknrbzktv@forum.dlang.org]
My Plan is as follows.
Add a new file for my ctfe-interpreter and update it gradually to 
take more and more of the cases the code in the files mentioned 
above was used for.
Do Dataflow analysis on the code that is to be ctfe'd so we can 
tell beforehand if we need to store state in the ctfe stack or 
not.
Or baring proper data-flow analysis: RefCouting the variables on 
the ctfe-stack could also be a solution.
I will post more details as soon as I dive deeper into the code.
    
    
More information about the Digitalmars-d-announce
mailing list