From: Christophe Rhodes Date: Tue, 14 Sep 2004 17:25:16 +0000 (+0000) Subject: 0.8.14.23: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=a608f5895479f67690a819a781cdb75641b13c61;p=sbcl.git 0.8.14.23: Attempt to fix the fixnump()-related problems in the runtime. This version Works For Me, but then so did the old one... --- diff --git a/src/runtime/fixnump.h b/src/runtime/fixnump.h new file mode 100644 index 0000000..cb56fe0 --- /dev/null +++ b/src/runtime/fixnump.h @@ -0,0 +1,22 @@ +/* + * This software is part of the SBCL system. See the README file for + * more information. + * + * This software is derived from the CMU CL system, which was + * written at Carnegie Mellon University and released into the + * public domain. The software is in the public domain and is + * provided with absolutely no warranty. See the COPYING and CREDITS + * files for more information. + */ + +#ifndef _FIXNUMP_H +#define _FIXNUMP_H + +static inline int fixnump(lispobj obj) { + return((obj & + (LOWTAG_MASK & + (~(EVEN_FIXNUM_LOWTAG|ODD_FIXNUM_LOWTAG)))) + == 0); +} + +#endif diff --git a/src/runtime/gc-common.c b/src/runtime/gc-common.c index 2dfe4c9..be3c62a 100644 --- a/src/runtime/gc-common.c +++ b/src/runtime/gc-common.c @@ -37,6 +37,7 @@ #include "validate.h" #include "lispregs.h" #include "arch.h" +#include "fixnump.h" #include "gc.h" #include "genesis/primitive-objects.h" #include "genesis/static-symbols.h" diff --git a/src/runtime/gc-internal.h b/src/runtime/gc-internal.h index 0b4bd4d..78aeaa0 100644 --- a/src/runtime/gc-internal.h +++ b/src/runtime/gc-internal.h @@ -80,6 +80,8 @@ lispobj *search_read_only_space(void *pointer); lispobj *search_static_space(void *pointer); lispobj *search_dynamic_space(void *pointer); +#include "fixnump.h" + /* Scan an area looking for an object which encloses the given pointer. * Return the object start on success or NULL on failure. */ static lispobj * diff --git a/src/runtime/gc.h b/src/runtime/gc.h index 8b0f62e..6da2236 100644 --- a/src/runtime/gc.h +++ b/src/runtime/gc.h @@ -29,11 +29,6 @@ extern void clear_auto_gc_trigger(void); extern int maybe_gc_pending; -static inline int fixnump(lispobj obj) { - return((obj & - (LOWTAG_MASK & - (~(EVEN_FIXNUM_LOWTAG|ODD_FIXNUM_LOWTAG)))) - == 0); -} +#include "fixnump.h" #endif /* _GC_H_ */ diff --git a/src/runtime/gencgc.c b/src/runtime/gencgc.c index b50b8d8..212c711 100644 --- a/src/runtime/gencgc.c +++ b/src/runtime/gencgc.c @@ -37,6 +37,7 @@ #include "validate.h" #include "lispregs.h" #include "arch.h" +#include "fixnump.h" #include "gc.h" #include "gc-internal.h" #include "thread.h" diff --git a/src/runtime/purify.c b/src/runtime/purify.c index 1cac459..e212972 100644 --- a/src/runtime/purify.c +++ b/src/runtime/purify.c @@ -27,6 +27,7 @@ #include "interrupt.h" #include "purify.h" #include "interr.h" +#include "fixnump.h" #include "gc.h" #include "gc-internal.h" #include "thread.h" diff --git a/version.lisp-expr b/version.lisp-expr index 4b6b8bf..2ac5955 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".) -"0.8.14.22" +"0.8.14.23"