[cmucl-commit] [git] CMU Common Lisp branch master updated. snapshot-2012-12-21-g5844679
Raymond Toy
rtoy at common-lisp.net
Wed Dec 26 22:14:47 UTC 2012
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".
The branch, master has been updated
via 58446794c98fcac9dda80e3fad8f58f361521c6d (commit)
via 440a04a8d9587f19574a95187c5b38496706decd (commit)
via 2850805391ed11896e0d18fa09683f8eba1964cf (commit)
from 02f4566a61fa5857150f69398e9a0a9af2652e7f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 58446794c98fcac9dda80e3fad8f58f361521c6d
Author: Raymond Toy <toy.raymond at gmail.com>
Date: Wed Dec 26 14:10:33 2012 -0800
Fix bitrot: set GC_SRC to gc.c if FEATURE_GENCGC is not defined.
diff --git a/src/lisp/Config.sparc_common b/src/lisp/Config.sparc_common
index 3b07c14..16f99fb 100644
--- a/src/lisp/Config.sparc_common
+++ b/src/lisp/Config.sparc_common
@@ -25,6 +25,8 @@ endif
ifdef FEATURE_GENCGC
GENCGC = -DGENCGC
GC_SRC = gencgc.c
+else
+GC_SRC = gc.c
endif
# Enable support for SSE2. If FEATURE_X87 is set, we want SSE2
commit 440a04a8d9587f19574a95187c5b38496706decd
Author: Raymond Toy <toy.raymond at gmail.com>
Date: Wed Dec 26 14:10:04 2012 -0800
Fix bitrot: support scavenging unicode strings..
diff --git a/src/lisp/gc.c b/src/lisp/gc.c
index dc75e15..6af7a15 100644
--- a/src/lisp/gc.c
+++ b/src/lisp/gc.c
@@ -1202,7 +1202,7 @@ size_unboxed(lispobj * where)
#define NWORDS(x,y) (CEILING((x),(y)) / (y))
static int
-scav_string(lispobj * where, lispobj object)
+size_string(lispobj * where)
{
struct vector *vector;
int length, nwords;
@@ -1212,43 +1212,30 @@ scav_string(lispobj * where, lispobj object)
vector = (struct vector *) where;
length = fixnum_value(vector->length) + 1;
+#ifndef UNICODE
nwords = CEILING(NWORDS(length, 4) + 2, 2);
+#else
+ /*
+ * Strings are just like arrays with 16-bit elements, and contain
+ * one more element than the slot length indicates.
+ */
+ nwords = CEILING(NWORDS(length, 2) + 2, 2);
+#endif
return nwords;
}
-static lispobj
-trans_string(lispobj object)
+static int
+scav_string(lispobj * where, lispobj object)
{
- struct vector *vector;
- int length, nwords;
-
- gc_assert(Pointerp(object));
-
- /* NOTE: Strings contain one more byte of data than the length */
- /* slot indicates. */
-
- vector = (struct vector *) PTR(object);
- length = fixnum_value(vector->length) + 1;
- nwords = CEILING(NWORDS(length, 4) + 2, 2);
-
- return copy_object(object, nwords);
+ return size_string(where);
}
-static int
-size_string(lispobj * where)
+static lispobj
+trans_string(lispobj object)
{
- struct vector *vector;
- int length, nwords;
-
- /* NOTE: Strings contain one more byte of data than the length */
- /* slot indicates. */
-
- vector = (struct vector *) where;
- length = fixnum_value(vector->length) + 1;
- nwords = CEILING(NWORDS(length, 4) + 2, 2);
-
- return nwords;
+ gc_assert(Pointerp(object));
+ return copy_object(object, size_string((lispobj *) PTR(object)));
}
static int
commit 2850805391ed11896e0d18fa09683f8eba1964cf
Author: Raymond Toy <toy.raymond at gmail.com>
Date: Wed Dec 26 11:42:00 2012 -0800
Forgot to load c-callback and alien-callback in the appropriate
places.
diff --git a/src/compiler/loadbackend.lisp b/src/compiler/loadbackend.lisp
index de8608b..be9cf00 100644
--- a/src/compiler/loadbackend.lisp
+++ b/src/compiler/loadbackend.lisp
@@ -56,6 +56,8 @@
(if (target-featurep :sse2)
(load "vm:sse2-c-call")
(load "vm:x87-c-call")))
+(when (target-featurep :alien-callback)
+ (load "vm:c-callback"))
(load "vm:print")
(load "vm:alloc")
(load "vm:call")
diff --git a/src/tools/worldload.lisp b/src/tools/worldload.lisp
index a6f063a..b167662 100644
--- a/src/tools/worldload.lisp
+++ b/src/tools/worldload.lisp
@@ -168,6 +168,9 @@
(maybe-byte-load "target:code/intl")
+#+alien-callback
+(maybe-byte-load "target:code/alien-callback")
+
;;; PCL.
;;;
-----------------------------------------------------------------------
Summary of changes:
src/compiler/loadbackend.lisp | 2 +
src/lisp/Config.sparc_common | 2 +
src/lisp/gc.c | 45 ++++++++++++++--------------------------
src/tools/worldload.lisp | 3 ++
4 files changed, 23 insertions(+), 29 deletions(-)
hooks/post-receive
--
CMU Common Lisp
More information about the cmucl-commit
mailing list