[Stackless] New Stacjless Protocol

Christian Tismer tismer at stackless.com
Fri Mar 26 04:58:17 CET 2004

New Stackless Protocol

Stackless has used some extra fields in the type objects, to support 
non-recursive calls. After dynamic classes evolved more and more,
keeping track of such extra fields has become more and more difficult.
In extent, I had to maintain quite a large number of function copies,
which behaved slightly different. After all, this approach didn't give 
me all the results I expected.

Since yesterday, I have been working intensively on a new approach.
It might be sligtly less efficient, but it seems to be very, very clean.

tp_call_nr and tp_iternext_nr have been removed from type objects. So 
far, type objects are unchanged, again.

Stackless instead now supports an implicit parameter for every function
call. It would be great if we could make it into an explicit parametzer, 
but that would change the implementation completely.

Information about the concrete implementation should probably go 
somewhere else.
Just summarizing: Stackless passes all Python tests and all of its 
internal tests,
the code base is reduced, again, and we have a couple of noew 
non-recursive calls:

- tasklet.raise_exception can run stackless,
- tasklet.kill can run stackless,
- generator.next can run stackless, like "for i in generator" could 
already, last time.

This version of stackless is not accessible via the stackless cvs.
If you want to try it, you need to use

cvs co slpdev/src/2.3/dev

Will add a link to this to the public pages, soon.

cheers -- chris

p.s.: please look into the stackless news items.
p.p.s.: I'm eagerly looking for new activities of the
former sprinters. Are you missing something from me???
Christian Tismer             :^)   <mailto:tismer at stackless.com>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34  home +49 30 802 86 56  mobile +49 173 24 18 776
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/

Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list