Hello Leonardo: --- On Sat, 11/13/10, Leonardo Santagada <[email protected]> wrote:
> From: Leonardo Santagada <[email protected]> > Subject: Re: [pypy-dev] Advice on Compiling Pypy-c for debugging (Stackless > support) > To: "Andrew Francis" <[email protected]> > Cc: [email protected] > Date: Saturday, November 13, 2010, 10:38 AM > On Sat, Nov 13, 2010 at 3:40 PM, > Andrew Francis <[email protected]> > wrote: > > --- On Sat, 11/13/10, Leonardo Santagada <[email protected]> > wrote: > I think what fijal meant is to use the ideas in greenlets.c > and map them to pypy, but not directly trying to run the extension > on top of pypy. I understood what Fijal said. I thought why not try modifying it? > Here is a list of what is crazy about the idea: > - greenlets is a c module, but the stuff it does with the > stack is completely outside the C API which is what pypy supports > from cpython. Leonardo, I don't want to sound argumentative but conceptually does this differ from what greenlets does with Standard Python? If I am not mistaken, greenlets (like Stackless Python) at some point need to do some very machine dependent low-level stuff to move stack frames to and from a heap. That is not in the C API either. > - It will (probably) break the gc. It will not find the > roots (address on the stack to memory on the heap) from functions that >are > taken out of the stack - The layout of the stack is probably not the >same > also and that will also break. I acknowledge all of these concerns. However what I would like to figure out is if the greenlet.c code is sufficiently modular so these parts can be isolated. I figure it would be good strategy to try to keep most of greenlet's high level Maybe folks can take a quick look at greenlet.c and off-hand state what would change. I would figure that low level routines (i.e., like g_save() and slp_restore_state(). In this fashion we have more facts to see if this approach should be nipped in the bud. > - To translate faster and using less memory turn your > python to 32bit and use --no-allworkingmodules. Great! I'll try this. > - Look at how greenlets.c work and talk I am doing this as we speak. I'll make IRC appearances once I have really has something new to add. > ps: I hope I was clear (and also correct) I thank you for your input. Right now, I need more information and to learn more. Cheers, Andrew _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
