projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.5.32: partial fix for DISASSEMBLE bug reported by Peter Graves
[sbcl.git]
/
src
/
runtime
/
x86-assem.S
diff --git
a/src/runtime/x86-assem.S
b/src/runtime/x86-assem.S
index
5bd4305
..
e1eba22
100644
(file)
--- a/
src/runtime/x86-assem.S
+++ b/
src/runtime/x86-assem.S
@@
-88,7
+88,6
@@
#endif
.text
#endif
.text
- .globl GNAME(foreign_function_call_active)
.globl GNAME(all_threads)
\f
/*
.globl GNAME(all_threads)
\f
/*
@@
-101,14
+100,15
@@
* floats.
*
* This should work for Lisp calls C calls Lisp calls C..
* 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):
*/
.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
/* 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
/* Restore the return value. */
movl %ecx,%eax # maybe return value
- movl $0,GNAME(foreign_function_call_active)
/* Return. */
jmp *%ebx
/* Return. */
jmp *%ebx
@@
-172,7
+171,6
@@
Lfp_rtn_value:
/* We don't need to restore eax, because the result is in st(0). */
/* We don't need to restore eax, because the result is in st(0). */
- movl $0,GNAME(foreign_function_call_active)
/* Return. */
jmp *%ebx
/* Return. */
jmp *%ebx
@@
-252,8
+250,6
@@
Lstack:
xorl %esi,%esi # third arg
/* no longer in function call */
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.
movl %esp,%ebx # remember current stack
pushl %ebx # Save entry stack on (maybe) new stack.
@@
-278,7
+274,7
@@
Ldone:
/* Establish an SEH frame. */
#ifdef LISP_FEATURE_SB_THREAD
/* FIXME: need to save BSP here. */
/* Establish an SEH frame. */
#ifdef LISP_FEATURE_SB_THREAD
/* FIXME: need to save BSP here. */
-#error need to save BSP here, but don't know how yet.
+#error "need to save BSP here, but don't know how yet."
#else
pushl BINDING_STACK_POINTER + SYMBOL_VALUE_OFFSET
#endif
#else
pushl BINDING_STACK_POINTER + SYMBOL_VALUE_OFFSET
#endif