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

Armin Rigo arigo at tunes.org
Mon Jun 13 13:54:26 CEST 2005


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.


A bientot,

Armin



More information about the Pypy-dev mailing list