[Stackless] New 3 platforms for Stackless Python
Christian Tismer
tismer at tismer.com
Tue Mar 5 20:24:35 CET 2002
Hye-Shik Chang wrote:
[see the bus error reported by Just]
I just read about the typical registers used for
calls. Can it be that we have to save registers r14-r31?
Is there a cheap way to push/pop them all?
If so, the code would probably look like this:
+slp_switch(void)
+{
+
register int *stackref, stsizediff;
---> add asm code here that saves registers to the stack
+
__asm__ ("mr %0, r1" : "=g" (stackref) : );
+
SLP_SAVE_STATE(stackref, stsizediff);
+
__asm__ ("
+
mr r11, %0
+
add r1, r1, r11
+
add r30, r30, r11"
+
: /* no outputs */
+
: "g" (stsizediff)
+
: "r11"
+
);
+
SLP_RESTORE_STATE();
---> add asm code here that restores registers from the stack
+}
Hope this works - ciao - 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
http://www.tismer.com/mailman/listinfo/stackless
More information about the Stackless
mailing list