[pypy-dev] Fwd: Work plan for PyPy

Armin Rigo arigo at tunes.org
Thu Jun 28 13:15:38 CEST 2007


Hi Richard,

On Wed, Jun 27, 2007 at 01:55:13PM -0700, Richard Emslie wrote:
> >>bytecode that genllvm produces would then call the helper functions
> >>instead of calling directly the external C API.  Shouldn't be a
> >>performance problem as llvm will inline the helpers agressively.
> >>
> >
> >ok, that is somewhat what we have now - except the stub functions  
> >are high level and shared *somewhat* with genc.

Precisely, by contrast I'm thinking about having lower level stub
functions that are generated automatically from the lltype declarations.
For example, an external ll function ptr would generate a simple stub,
always the same.  GenC and GenLLVM would share the code to produce the
stubs.  Similarly, getting at an external variable (or variable-like
macro) like errno should be expressable in an lltype way (it's not right
now) that gets turned into """int _rpyget_errno(void) { return errno; }""".

> >Generating c code in llvm backend would sort of defeat the point of  
> >it IMHO.

The difference is that the stubs would always be generated from simple
templates, not from genc's complex logic that turns flow graphs into C
code.


A bientot,

Armin.



More information about the Pypy-dev mailing list