From 7244742c3a9478d13d813aaae8135973eb4b89aa Mon Sep 17 00:00:00 2001 From: Gabor Melis Date: Mon, 16 Feb 2009 22:22:23 +0000 Subject: [PATCH] 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. --- src/runtime/x86-64-assem.S | 4 +--- src/runtime/x86-assem.S | 4 +--- version.lisp-expr | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/runtime/x86-64-assem.S b/src/runtime/x86-64-assem.S index 85d5238..8878f04 100644 --- a/src/runtime/x86-64-assem.S +++ b/src/runtime/x86-64-assem.S @@ -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 diff --git a/src/runtime/x86-assem.S b/src/runtime/x86-assem.S index 315643b..8101da2 100644 --- a/src/runtime/x86-assem.S +++ b/src/runtime/x86-assem.S @@ -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 diff --git a/version.lisp-expr b/version.lisp-expr index c2d9b27..dcc475a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 1.7.10.4