From: Gabor M. <me...@us...> - 2009-02-16 22:22:27
|
Update of /cvsroot/sbcl/sbcl/src/runtime In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv12312/src/runtime Modified Files: x86-64-assem.S x86-assem.S Log Message: 1.0.25.49: x86/x86-64 unithread: use the allocated alien stack ... in struct thread and not the original control stack that we switch away from in call_into_lisp_first_time. Index: x86-64-assem.S =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/x86-64-assem.S,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- x86-64-assem.S 4 Nov 2008 18:56:27 -0000 1.21 +++ x86-64-assem.S 16 Feb 2009 22:22:23 -0000 1.22 @@ -128,8 +128,7 @@ .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_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: x86-assem.S =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/x86-assem.S,v retrieving revision 1.51 retrieving revision 1.52 diff -u -d -r1.51 -r1.52 --- x86-assem.S 4 Nov 2008 18:56:27 -0000 1.51 +++ x86-assem.S 16 Feb 2009 22:22:23 -0000 1.52 @@ -173,8 +173,7 @@ .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 @@ 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 |