[Stackless-checkins] r45927 - stackless/Python-2.4.3/dev/Stackless/platf/slp_switch_stack.h

richard.tew python-checkins at python.org
Sat May 6 23:17:49 CEST 2006


Author: richard.tew
Date: Sat May  6 23:17:48 2006
New Revision: 45927

Modified:
   stackless/Python-2.4.3/dev/Stackless/platf/slp_switch_stack.h
Log:
Doesn't appear to be used, but checking it in anyway.

Modified: stackless/Python-2.4.3/dev/Stackless/platf/slp_switch_stack.h
==============================================================================
--- stackless/Python-2.4.3/dev/Stackless/platf/slp_switch_stack.h	(original)
+++ stackless/Python-2.4.3/dev/Stackless/platf/slp_switch_stack.h	Sat May  6 23:17:48 2006
@@ -22,6 +22,9 @@
 	}
 }
 
+#elif defined(MS_WIN64) && defined(_M_X64)
+
+
 #elif defined(__GNUC__) && defined(__i386__)
 
 static int
@@ -44,6 +47,28 @@
 	__asm__ volatile ("" : : : "ebx", "esi", "edi");
 }
 
+#elif defined(__GNUC__) && defined(__amd64__)
+
+static int
+slp_switch_stack(void)
+{
+    register long *stackref, stsizediff;
+    __asm__ volatile ("" : : : REGS_TO_SAVE);
+    __asm__ ("movq %%rsp, %0" : "=g" (stackref));
+    {
+        SLP_STACK_BEGIN(stackref, stsizediff);
+        __asm__ volatile (
+            "addq %0, %%rsp\n"
+            "addq %0, %%rbp\n"
+            :
+            : "r" (stsizediff)
+            );
+        SLP_STACK_END();
+        return 0;
+    }
+    __asm__ volatile ("" : : : REGS_TO_SAVE);
+}
+
 #elif defined(__GNUC__) && defined(__PPC__) && defined(__linux__)
 
 static int
@@ -190,5 +215,8 @@
 	__asm__ volatile ("" : : : REGS_TO_SAVE);
 }
 
+#elif defined(__GNUC__) && defined(__arm__) && defined(__thumb__)
+
+
 #endif
 

_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins



More information about the Stackless-checkins mailing list