CMUCL commit: sparc-tramp-assem-branch src/lisp (gencgc.c x86-assem.S)
Raymond Toy
rtoy at common-lisp.net
Sun Jul 18 22:29:22 CEST 2010
Date: Sunday, July 18, 2010 @ 16:29:22
Author: rtoy
Path: /project/cmucl/cvsroot/src/lisp
Tag: sparc-tramp-assem-branch
Modified: gencgc.c x86-assem.S
lisp/x86-assem.S:
o Comment out closure_tramp and undefined_tramp.
lisp/gencgc.c:
o Update code since closure_tramp and undefined_tramp no longer exist
as C functions.
-------------+
gencgc.c | 13 +++++++++----
x86-assem.S | 11 ++++++++++-
2 files changed, 19 insertions(+), 5 deletions(-)
Index: src/lisp/gencgc.c
diff -u src/lisp/gencgc.c:1.107.2.1 src/lisp/gencgc.c:1.107.2.2
--- src/lisp/gencgc.c:1.107.2.1 Sat Jul 17 09:43:43 2010
+++ src/lisp/gencgc.c Sun Jul 18 16:29:21 2010
@@ -7,7 +7,7 @@
*
* Douglas Crosher, 1996, 1997, 1998, 1999.
*
- * $Header: /project/cmucl/cvsroot/src/lisp/gencgc.c,v 1.107.2.1 2010-07-17 13:43:43 rtoy Exp $
+ * $Header: /project/cmucl/cvsroot/src/lisp/gencgc.c,v 1.107.2.2 2010-07-18 20:29:21 rtoy Exp $
*
*/
@@ -670,6 +670,9 @@
#define SSE_STATE_SIZE ((512+16)/4)
int fpu_state[FPU_STATE_SIZE];
int sse_state[SSE_STATE_SIZE];
+
+ extern void sse_save(void *);
+ extern void sse_restore(void *);
#elif defined(sparc)
/*
* 32 (single-precision) FP registers, and the FP state register.
@@ -2028,6 +2031,8 @@
extern char undefined_tramp();
#elif defined(sparc)
/* closure tramp and undefined tramp are Lisp assembly routines */
+#elif (defined(i386) || defined(__x86_64))
+/* undefined tramp are Lisp assembly routines */
#else
extern int undefined_tramp;
#endif
@@ -6844,13 +6849,13 @@
&& !((thing == (int) &closure_tramp) ||
(thing == (int) &undefined_tramp))
-#elif defined(sparc)
- /* Nothing for sparc since these are Lisp assembly routines */
+#elif defined(sparc) || defined(i386) || defined(__x86_64)
+ /* Nothing for since these are Lisp assembly routines */
#else
&& thing != (int) &undefined_tramp
#endif
) {
-#ifndef sparc
+#if !(defined(sparc) || defined(i386) || defined(__x86_64))
fprintf(stderr,
"*** Ptr %lx @ %lx sees Junk (undefined_tramp = %lx)",
(unsigned long) thing, (unsigned long) start,
Index: src/lisp/x86-assem.S
diff -u src/lisp/x86-assem.S:1.33 src/lisp/x86-assem.S:1.33.2.1
--- src/lisp/x86-assem.S:1.33 Thu Apr 1 10:05:45 2010
+++ src/lisp/x86-assem.S Sun Jul 18 16:29:21 2010
@@ -1,6 +1,6 @@
### x86-assem.S -*- Mode: Asm; -*-
/**
- * $Header: /project/cmucl/cvsroot/src/lisp/x86-assem.S,v 1.33 2010-04-01 14:05:45 rtoy Exp $
+ * $Header: /project/cmucl/cvsroot/src/lisp/x86-assem.S,v 1.33.2.1 2010-07-18 20:29:21 rtoy Exp $
*
* Authors: Paul F. Werkowski <pw at snoopy.mv.com>
* Douglas T. Crosher
@@ -286,7 +286,14 @@
ENDFUNC(sse_restore)
+#if 0
/*
+ * These are now implemented as Lisp assembly routines. We leave
+ * these here for the time being until we're sure the assembly
+ * routines are working as expected.
+ */
+
+ /*
* The undefined-function trampoline.
*/
FUNCDEF(undefined_tramp)
@@ -308,6 +315,8 @@
jmp *CLOSURE_FUNCTION_OFFSET(%eax)
ENDFUNC(closure_tramp)
+#endif
+
/*
* Function-end breakpoint magic.
*/
More information about the cmucl-commit
mailing list