X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-assem.S;h=e1eba22f47e55e2dfa30d032611eae4b3dca04a0;hb=2e47ed527bdcb76cf5eb52f66cc08f4fb0a0041d;hp=ca2b2d61f658687a9fc5bb8f5cee641109d482bd;hpb=0e6e1b2a81134f1b45330fd6abe49e32020e409d;p=sbcl.git diff --git a/src/runtime/x86-assem.S b/src/runtime/x86-assem.S index ca2b2d6..e1eba22 100644 --- a/src/runtime/x86-assem.S +++ b/src/runtime/x86-assem.S @@ -88,7 +88,6 @@ #endif .text - .globl GNAME(foreign_function_call_active) .globl GNAME(all_threads) /* @@ -101,14 +100,15 @@ * floats. * * This should work for Lisp calls C calls Lisp calls C.. + * + * FIXME & OAOOM: This duplicates call-out in src/compiler/x86/c-call.lisp, + * so if you tweak this, change that too! */ .text .align align_16byte,0x90 .globl GNAME(call_into_c) TYPE(GNAME(call_into_c)) GNAME(call_into_c): - movl $1,GNAME(foreign_function_call_active) - /* Save the return Lisp address in ebx. */ popl %ebx @@ -154,7 +154,6 @@ GNAME(call_into_c): /* Restore the return value. */ movl %ecx,%eax # maybe return value - movl $0,GNAME(foreign_function_call_active) /* Return. */ jmp *%ebx @@ -172,7 +171,6 @@ Lfp_rtn_value: /* We don't need to restore eax, because the result is in st(0). */ - movl $0,GNAME(foreign_function_call_active) /* Return. */ jmp *%ebx @@ -252,8 +250,6 @@ Lstack: xorl %esi,%esi # third arg /* no longer in function call */ - movl %eax, GNAME(foreign_function_call_active) - movl %esp,%ebx # remember current stack pushl %ebx # Save entry stack on (maybe) new stack.