[pypy-dev] Re: [pypy-svn] r13328 - pypy/dist/pypy/translator/test

Ben.Young at risk.sungard.com Ben.Young at risk.sungard.com
Mon Jun 13 15:34:47 CEST 2005

Hi Armin

pypy-dev-bounces at codespeak.net wrote on 13/06/2005 12:54:26:

> Hi Seo,
> On Mon, Jun 13, 2005 at 10:28:56AM +0900, Sanghyeon Seo wrote:
> > I am fine with getting rid of current GenCL if it blocks any of PyPy's
> > development.
> It doesn't really block us.  I think it's fine to spend a little time
> maintaining the old back-ends.  In this case, it just shows that all
> back-ends have subtly different requirements and it's getting worse;
> GenPyrex or the java back-end for example don't have any clue about
> fully-specialized flow graphs either.
> Some kind of solution for this problem would involve turning the
> Translator into some kind of 'make' engine.  The various "phases" would
> be described with dependencies: getting the flow graph, performing
> various simplifications, annotating, various more simplifications based
> on the annotations, typing, generating code, compiling.  This needs to
> be fine-grained enough, because for example the typer creates a few new
> graphs which must again be annotated and simplified in a precise way.
> Internal phases of the annotator or the typer would also benefit from
> being described in this way.  The user-visible goal would be that trying
> to call a method on the Translator (e.g.  llvmcompile()) would figure
> out which phases must be run, or complain if too many phases have
> already been run, instead of crashing in mysterious ways if too little
> or too much has been done before.

Is it ever the case where the translator doesn't know which annotation 
steps/optimization steps are needed? I.e could this not just be done so 
that the translator entry point does all the work setting up what is 
needed? There could be some common code for processing shared options but 
is a dependancy manager really needed?

If a particular engine needs some code to be run, why doesn't it just run 
the code itself? I don't mean that to sound acrimonious, I'm just trying 
to understand!

(I've just realised I am making a lot of comments without actually doing 
any work, so please tell me to shup up if I am annoying you!)


> A bientot,
> Armin
> _______________________________________________
> pypy-dev at codespeak.net
> http://codespeak.net/mailman/listinfo/pypy-dev

More information about the Pypy-dev mailing list