[Stackless] can it be done with setjmp/longjmp?

Christian Tismer tismer at tismer.com
Wed Feb 27 01:28:40 CET 2002

Delaney, Timothy wrote:

  >>From: Christian Tismer [mailto:tismer at tismer.com]
  >>Sam M. Rushing wrote:
  >>>I'm wondering if what you're doing can't be done with
  >>>I've found several user-threads libraries that get by with
  >>just setjmp
  >>>(as opposed to assembly code):
  >>Yes, I'm pretty sure it is possible.
  >>To unwind the stack, I can use setjmp/longjmp.
  >>To rebuild it, I can use alloca.
  >>This technique is a little more expensive, and
  >>it is a bit tricky, but I think to provide
  >>such an option as a fallback solution.
  > So, would this possibly allow for a platform-independent implementation,
  > with platform-dependent optimisation where people supply it?


  > Just how portable is setjmp/longjmp these days? It's been quite a while
  > since I looked at it.

I have no idea. Articles say that set/longjmp is fair, with a few
exceptions. I can give you a number of references.

I will finalize the Win32 implementation to it's best.
Then I will do a small couple of ports of the assembly.
Then I will try to do a setjmp/longjmp implementation
that is as portable as possible.

Meanwhile I'll try to pickle these structures.
This is much more than a challenge, since it is
much more platform dependant than everything else.
The technique will be some advanced heuristic
algorithms written in Python, involving .map file
analysis and more.

I have set up a PayPal account today, and already received
$250 of sponsorship. This is absolutely great! If things
continue this way, I can devote the majority of my time
to Stackless, and build a real new Stackless world!

incredibly-happy-ly y'rs -- chris

Christian Tismer             :^)   <mailto:tismer at tismer.com>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Kaunstr. 26                  :    *Starship* http://starship.python.net/
14163 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
PGP Fingerprint       E182 71C7 1A9D 66E9 9D15  D3CC D4D7 93E2 1FAE F6DF
        where do you want to jump today?   http://www.stackless.com/

Stackless mailing list
Stackless at www.tismer.com

More information about the Stackless mailing list