[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