[Stackless] stackess for 2.7

Jeff Senn senn at maya.com
Sat Jul 24 04:26:01 CEST 2010

Hm... On a lark, I increased the number of registers that are saved on the stack swap...

Index: Stackless/platf/switch_amd64_unix.h
--- Stackless/platf/switch_amd64_unix.h	(revision 83119)
+++ Stackless/platf/switch_amd64_unix.h	(working copy)
@@ -29,9 +29,8 @@
 /* the above works fine with gcc 2.96, but 2.95.3 wants this */
 #define STACK_MAGIC 0
-#define REGS_TO_SAVE "rdx", "rbx", "r12", "r13", "r14", "r15"
+#define REGS_TO_SAVE "rdx", "rbx", "r12", "r13", "r14", "r15", "r9", "r8", "rdi", "rsi", "rcx", "rbp"

Now a 64-bit stackless 2.7 (on OS-X 10.6 at least) passes the stackless tests rather than crashing!

I didn't actually study the amd64 ABI very much -- so I can't say this is the optimal solution
or does not involve some sort of subtle error somewhere...

I would suppose, though, that "not crashing" is a significant incremental improvement... 
should we commit this?

On Jul 6, 2010, at 4:39 AM, Aleksandar Radulovic wrote:

> Hi,
> On Tue, Jul 6, 2010 at 12:58 AM, Jeff Senn <senn at maya.com> wrote:
>> I notice whoever built 2.6.5 stackless for OS-X (not me I think) did not include a 64-bit variant in the universal binary...
>> I'm just wondering whether amd64 is supposed to work.. (I just went back and the release26-maint branch also has problems with 64 bit on OS-X -- so at least it's not a merely 2.7 issue...)
> As far as I remember, it didn't want even to consider building itself
> on OSX with 64bits enabled. This has been a problem for a long while,
> so it's not a 2.7 issue (it's more like a 2.x issue).
> -- 
> a lex 13 x
> http://www.a13x.info
> _______________________________________________
> Stackless mailing list
> Stackless at stackless.com
> http://www.stackless.com/mailman/listinfo/stackless

More information about the Stackless mailing list