1.0.25.49: x86/x86-64 unithread: use the allocated alien stack
authorGabor Melis <mega@hotpop.com>
Mon, 16 Feb 2009 22:22:23 +0000 (22:22 +0000)
committerGabor Melis <mega@hotpop.com>
Mon, 16 Feb 2009 22:22:23 +0000 (22:22 +0000)
... in struct thread and not the original control stack that we switch
away from in call_into_lisp_first_time.

src/runtime/x86-64-assem.S
src/runtime/x86-assem.S
version.lisp-expr

index 85d5238..8878f04 100644 (file)
@@ -128,8 +128,7 @@ GNAME(call_into_c):
        .globl  GNAME(call_into_lisp_first_time)
        TYPE(GNAME(call_into_lisp_first_time))
                
-/* The *ALIEN-STACK* pointer is set up on the first call_into_lisp when
- * the stack changes.  We don't worry too much about saving registers 
+/* We don't worry too much about saving registers 
  * here, because we never expect to return from the initial call to lisp 
  * anyway */
        
@@ -137,7 +136,6 @@ GNAME(call_into_c):
 GNAME(call_into_lisp_first_time):
        push    %rbp            # Save old frame pointer.
        mov     %rsp,%rbp       # Establish new frame.
-       mov     %rsp,ALIEN_STACK + SYMBOL_VALUE_OFFSET
 #if defined(LISP_FEATURE_DARWIN)
        movq    GSYM(GNAME(all_threads)),%rax
 #else
index 315643b..8101da2 100644 (file)
@@ -173,8 +173,7 @@ Lfp_rtn_value:
        .globl GNAME(call_into_lisp_first_time)
        TYPE(GNAME(call_into_lisp_first_time))
                
-/* The *ALIEN-STACK* pointer is set up on the first call_into_lisp when
- * the stack changes.  We don't worry too much about saving registers 
+/* We don't worry too much about saving registers 
  * here, because we never expect to return from the initial call to lisp 
  * anyway */
        
@@ -183,7 +182,6 @@ GNAME(call_into_lisp_first_time):
        pushl   %ebp            # Save old frame pointer.
        movl    %esp,%ebp       # Establish new frame.
 #ifndef LISP_FEATURE_WIN32
-       movl    %esp,ALIEN_STACK + SYMBOL_VALUE_OFFSET
        movl    GNAME(all_threads),%eax
        /* pthread machinery takes care of this for other threads */
        movl    THREAD_CONTROL_STACK_END_OFFSET(%eax) ,%esp
index c2d9b27..dcc475a 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.25.48"
+"1.0.25.49"