cmucl-cvs
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- 1 participants
- 3167 discussions

[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-09-3-geb7aef5
by Raymond Toy 05 Sep '12
by Raymond Toy 05 Sep '12
05 Sep '12
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 eb7aef5b50c77b2ada5ec883b446b18e18348012 (commit)
from 1a44615f74ceea56690f10c70bf00ccb8d5413f2 (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 eb7aef5b50c77b2ada5ec883b446b18e18348012
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Tue Sep 4 19:49:17 2012 -0700
Output lisp strings in utf8 format in ldb print.
print.c:
* Use utf16_output to output strings as utf8 instead of raw utf16.
interr.c:
* Make utf16_output public instead of static.
interr.h:
* Declare utf16_output.
diff --git a/src/lisp/interr.c b/src/lisp/interr.c
index 5b43b6a..6b46957 100644
--- a/src/lisp/interr.c
+++ b/src/lisp/interr.c
@@ -262,7 +262,7 @@ utf16_codepoint(unsigned short int* utf16, int len, int* consumed)
* Send the utf-16 Lisp unicode string to standard output as a
* utf8-encoded sequence of octets.
*/
-static void
+void
utf16_output(unsigned short int* utf16, int len)
{
while (len) {
diff --git a/src/lisp/interr.h b/src/lisp/interr.h
index 29f4eb7..2611c64 100644
--- a/src/lisp/interr.h
+++ b/src/lisp/interr.h
@@ -14,6 +14,7 @@ extern void lose(char *fmt, ...);
extern void set_lossage_handler(void fun(void));
extern void internal_error(os_context_t * context);
+extern void utf16_output(unsigned short int* utf16, int len);
extern lispobj debug_print(lispobj string);
#endif /* _INTERR_H_ */
diff --git a/src/lisp/print.c b/src/lisp/print.c
index 34aa0ce..b4758d8 100644
--- a/src/lisp/print.c
+++ b/src/lisp/print.c
@@ -376,14 +376,7 @@ print_string(struct vector* vector)
uint16_t *charptr = (uint16_t *) vector->data;
int len = fixnum_value(vector->length);
- while (len-- > 0) {
- if (*charptr == '"') {
- putchar('\\');
- }
- /* Just dump out the UTF-16 data */
- fwrite(charptr, sizeof(*charptr), 1, stdout);
- charptr++;
- }
+ utf16_output(charptr, len);
#endif
}
-----------------------------------------------------------------------
Summary of changes:
src/lisp/interr.c | 2 +-
src/lisp/interr.h | 1 +
src/lisp/print.c | 9 +--------
3 files changed, 3 insertions(+), 9 deletions(-)
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-09-2-g1a44615
by Raymond Toy 04 Sep '12
by Raymond Toy 04 Sep '12
04 Sep '12
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 1a44615f74ceea56690f10c70bf00ccb8d5413f2 (commit)
from 000a0be020acb860f0bf06580bfc2557fd803d00 (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 1a44615f74ceea56690f10c70bf00ccb8d5413f2
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Mon Sep 3 20:49:31 2012 -0700
Fix ticket:62: Needed an IN-PACKAGE.
diff --git a/src/contrib/defsystem/defsystem.lisp b/src/contrib/defsystem/defsystem.lisp
index ae23dbc..0f9be1b 100644
--- a/src/contrib/defsystem/defsystem.lisp
+++ b/src/contrib/defsystem/defsystem.lisp
@@ -1052,7 +1052,7 @@
(eval-when (compile load eval)
(in-package "MAKE"))
-#+ecl
+#+(or ecl cmu)
(in-package "MAKE")
;;; *** Marco Antoniotti <marcoxa(a)icsi.berkeley.edu> 19970105
-----------------------------------------------------------------------
Summary of changes:
src/contrib/defsystem/defsystem.lisp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp branch remove-long-float created. snapshot-2012-09-2-gb9f4c10
by Raymond Toy 03 Sep '12
by Raymond Toy 03 Sep '12
03 Sep '12
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, remove-long-float has been created
at b9f4c10c9e410e05d0c7d2cee6ab708d521b061a (commit)
- Log -----------------------------------------------------------------
commit b9f4c10c9e410e05d0c7d2cee6ab708d521b061a
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Mon Sep 3 09:43:38 2012 -0700
Remove long-float support.
diff --git a/src/code/alieneval.lisp b/src/code/alieneval.lisp
index c8f0fb8..3f267e6 100644
--- a/src/code/alieneval.lisp
+++ b/src/code/alieneval.lisp
@@ -19,7 +19,7 @@
(intl:textdomain "cmucl")
(export '(alien * array struct union enum function integer signed unsigned
- boolean values single-float double-float long-float
+ boolean values single-float double-float
system-area-pointer def-alien-type def-alien-variable sap-alien
extern-alien with-alien slot deref addr cast alien-sap alien-size
alien-funcall def-alien-routine make-alien free-alien
@@ -43,7 +43,6 @@
alien-float-type alien-float-type-p
alien-single-float-type alien-single-float-type-p
alien-double-float-type alien-double-float-type-p
- alien-long-float-type alien-long-float-type-p
alien-pointer-type alien-pointer-type-p alien-pointer-type-to
make-alien-pointer-type
alien-array-type alien-array-type-p alien-array-type-element-type
@@ -89,7 +88,6 @@
alien-float-type alien-float-type-p
alien-single-float-type alien-single-float-type-p
alien-double-float-type alien-double-float-type-p
- alien-long-float-type alien-long-float-type-p
alien-pointer-type alien-pointer-type-p alien-pointer-type-to
make-alien-pointer-type
alien-array-type alien-array-type-p alien-array-type-element-type
@@ -901,19 +899,6 @@
`(sap-ref-double ,sap (/ ,offset vm:byte-bits)))
-#+long-float
-(def-alien-type-class (long-float :include (float (:bits #+x86 96 #+sparc 128))
- :include-args (type)))
-
-#+long-float
-(def-alien-type-translator long-float ()
- (make-alien-long-float-type :type 'long-float))
-
-#+long-float
-(def-alien-type-method (long-float :extract-gen) (type sap offset)
- (declare (ignore type))
- `(sap-ref-long ,sap (/ ,offset vm:byte-bits)))
-
;;;; The SAP type
diff --git a/src/code/array.lisp b/src/code/array.lisp
index a365a57..d7d9617 100644
--- a/src/code/array.lisp
+++ b/src/code/array.lisp
@@ -136,9 +136,6 @@
((signed-byte 32) (values #.vm:simple-array-signed-byte-32-type 32))
(single-float (values #.vm:simple-array-single-float-type 32))
(double-float (values #.vm:simple-array-double-float-type 64))
- #+long-float
- (long-float
- (values #.vm:simple-array-long-float-type #+x86 96 #+sparc 128))
#+double-double
(double-double-float
(values #.vm::simple-array-double-double-float-type 128))
@@ -146,9 +143,6 @@
(values #.vm:simple-array-complex-single-float-type 64))
((complex double-float)
(values #.vm:simple-array-complex-double-float-type 128))
- #+long-float
- ((complex long-float)
- (values #.vm:simple-array-complex-long-float-type #+x86 192 #+sparc 256))
#+double-double
((complex double-double-float)
(values #.vm::simple-array-complex-double-double-float-type 256))
@@ -508,11 +502,9 @@
(signed-byte 32)
single-float
double-float
- #+long-float long-float
#+double-double double-double-float
(complex single-float)
(complex double-float)
- #+long-float (complex long-float)
#+double-double (complex double-double-float)))))
(defun data-vector-set (array index new-value)
@@ -543,11 +535,9 @@
(signed-byte 32)
single-float
double-float
- #+long-float long-float
#+double-double double-double-float
(complex single-float)
(complex double-float)
- #+long-float (complex long-float)
#+double-double (complex double-double-float)))))
@@ -707,14 +697,10 @@
(vm:simple-array-signed-byte-32-type '(signed-byte 32))
(vm:simple-array-single-float-type 'single-float)
(vm:simple-array-double-float-type 'double-float)
- #+long-float
- (vm:simple-array-long-float-type 'long-float)
#+double-double
(vm::simple-array-double-double-float-type 'double-double-float)
(vm:simple-array-complex-single-float-type '(complex single-float))
(vm:simple-array-complex-double-float-type '(complex double-float))
- #+long-float
- (vm:simple-array-complex-long-float-type '(complex long-float))
#+double-double
(vm::simple-array-complex-double-double-float-type '(complex double-double-float))
((vm:simple-array-type vm:complex-vector-type vm:complex-array-type)
@@ -1044,8 +1030,6 @@
((simple-array (signed-byte 32) (*)) 0)
((simple-array single-float (*)) (coerce 0 'single-float))
((simple-array double-float (*)) (coerce 0 'double-float))
- #+long-float
- ((simple-array long-float (*)) (coerce 0 'long-float))
#+double-double
((simple-array double-double-float (*))
(coerce 0 'double-double-float))
@@ -1053,9 +1037,6 @@
(coerce 0 '(complex single-float)))
((simple-array (complex double-float) (*))
(coerce 0 '(complex double-float)))
- #+long-float
- ((simple-array (complex long-float) (*))
- (coerce 0 '(complex long-float)))
#+double-double
((simple-array (complex double-double-float) (*))
(coerce 0 '(complex double-double-float))))))
diff --git a/src/code/bignum.lisp b/src/code/bignum.lisp
index 3072fc7..6d80465 100644
--- a/src/code/bignum.lisp
+++ b/src/code/bignum.lisp
@@ -1863,17 +1863,6 @@ down to individual words.")
hi
(logior hi (ash -1 vm:float-sign-shift)))
(%bignum-ref bits 1))))
-;;;
-#+(and long-float x86)
-(defun long-float-from-bits (bits exp plusp)
- (declare (fixnum exp))
- (declare (optimize (ext:inhibit-warnings 3)))
- (make-long-float
- (if plusp
- exp
- (logior exp (ash 1 15)))
- (%bignum-ref bits 2)
- (%bignum-ref bits 1)))
;;;
#+nil
diff --git a/src/code/class.lisp b/src/code/class.lisp
index d30fd31..14bda3d 100644
--- a/src/code/class.lisp
+++ b/src/code/class.lisp
@@ -767,14 +767,6 @@
:inherits (vector simple-array array sequence generic-vector
generic-array mutable-sequence mutable-collection
generic-sequence collection))
- #+long-float
- (simple-array-long-float
- :translation (simple-array long-float (*))
- :codes (#.vm:simple-array-long-float-type)
- :direct-superclasses (vector simple-array)
- :inherits (vector simple-array array sequence generic-vector
- generic-array mutable-sequence mutable-collection
- generic-sequence collection))
#+double-double
(simple-array-double-double-float
:translation (simple-array double-double-float (*))
@@ -797,14 +789,6 @@
:inherits (vector simple-array array sequence generic-vector
generic-array mutable-sequence mutable-collection
generic-sequence collection))
- #+long-float
- (simple-array-complex-long-float
- :translation (simple-array (complex long-float) (*))
- :codes (#.vm:simple-array-complex-long-float-type)
- :direct-superclasses (vector simple-array)
- :inherits (vector simple-array array sequence generic-vector
- generic-array mutable-sequence mutable-collection
- generic-sequence collection))
#+double-double
(simple-array-complex-double-double-float
:translation (simple-array (complex double-double-float) (*))
@@ -842,11 +826,6 @@
:translation (complex double-float)
:inherits (complex number generic-number)
:codes (#.vm:complex-double-float-type))
- #+long-float
- (complex-long-float
- :translation (complex long-float)
- :inherits (complex number generic-number)
- :codes (#.vm:complex-long-float-type))
#+double-double
(complex-double-double-float
:translation (complex double-double-float)
@@ -862,11 +841,6 @@
:translation double-float
:inherits (float real number generic-number)
:codes (#.vm:double-float-type))
- #+long-float
- (long-float
- :translation long-float
- :inherits (float real number generic-number)
- :codes (#.vm:long-float-type))
#+double-double
(double-double-float
:translation double-double-float
diff --git a/src/code/debug-int.lisp b/src/code/debug-int.lisp
index 0941ffe..5047c17 100644
--- a/src/code/debug-int.lisp
+++ b/src/code/debug-int.lisp
@@ -3137,9 +3137,6 @@ The result is a symbol or nil if the routine cannot be found."
(escaped-float-value single-float))
(#.vm:double-reg-sc-number
(escaped-float-value double-float))
- #+long-float
- (#.vm:long-reg-sc-number
- (escaped-float-value long-float))
#+double-double
(#.vm:double-double-reg-sc-number
(if escaped
@@ -3167,16 +3164,6 @@ The result is a symbol or nil if the routine cannot be found."
escaped (+ (c:sc-offset-offset sc-offset) #+sparc 2 #-sparc 1)
'double-float))
:invalid-value-for-unescaped-register-storage))
- #+long-float
- (#.vm:complex-long-reg-sc-number
- (if escaped
- (complex
- (vm:sigcontext-float-register
- escaped (c:sc-offset-offset sc-offset) 'long-float)
- (vm:sigcontext-float-register
- escaped (+ (c:sc-offset-offset sc-offset) #+sparc 4)
- 'long-float))
- :invalid-value-for-unescaped-register-storage))
#+double-double
(#.vm:complex-double-double-reg-sc-number
(if escaped
@@ -3203,11 +3190,6 @@ The result is a symbol or nil if the routine cannot be found."
(with-nfp (nfp)
(system:sap-ref-double nfp (* (c:sc-offset-offset sc-offset)
vm:word-bytes))))
- #+long-float
- (#.vm:long-stack-sc-number
- (with-nfp (nfp)
- (system:sap-ref-long nfp (* (c:sc-offset-offset sc-offset)
- vm:word-bytes))))
#+double-double
(#.vm:double-double-stack-sc-number
(with-nfp (nfp)
@@ -3248,15 +3230,6 @@ The result is a symbol or nil if the routine cannot be found."
(system:sap-ref-double nfp (* (+ (c:sc-offset-offset sc-offset)
6)
vm:word-bytes))))))
- #+long-float
- (#.vm:complex-long-stack-sc-number
- (with-nfp (nfp)
- (complex
- (system:sap-ref-long nfp (* (c:sc-offset-offset sc-offset)
- vm:word-bytes))
- (system:sap-ref-long nfp (* (+ (c:sc-offset-offset sc-offset)
- #+sparc 4)
- vm:word-bytes)))))
(#.vm:control-stack-sc-number
(kernel:stack-ref fp (c:sc-offset-offset sc-offset)))
(#.vm:base-char-stack-sc-number
@@ -3349,9 +3322,6 @@ The result is a symbol or nil if the routine cannot be found."
(escaped-float-value single-float))
(#.vm:double-reg-sc-number
(escaped-float-value double-float))
- #+long-float
- (#.vm:long-reg-sc-number
- (escaped-float-value long-float))
#+double-double
(#.vm:double-double-reg-sc-number
(if escaped
@@ -3366,19 +3336,12 @@ The result is a symbol or nil if the routine cannot be found."
(escaped-complex-float-value single-float))
(#.vm:complex-double-reg-sc-number
(escaped-complex-float-value double-float))
- #+long-float
- (#.vm:complex-long-reg-sc-number
- (escaped-complex-float-value long-float))
(#.vm:single-stack-sc-number
(system:sap-ref-single fp (- (* (1+ (c:sc-offset-offset sc-offset))
vm:word-bytes))))
(#.vm:double-stack-sc-number
(system:sap-ref-double fp (- (* (+ (c:sc-offset-offset sc-offset) 2)
vm:word-bytes))))
- #+long-float
- (#.vm:long-stack-sc-number
- (system:sap-ref-long fp (- (* (+ (c:sc-offset-offset sc-offset) 3)
- vm:word-bytes))))
#+double-double
(#.vm:complex-double-double-reg-sc-number
(if escaped
@@ -3409,13 +3372,6 @@ The result is a symbol or nil if the routine cannot be found."
vm:word-bytes)))
(system:sap-ref-double fp (- (* (+ (c:sc-offset-offset sc-offset) 4)
vm:word-bytes)))))
- #+long-float
- (#.vm:complex-long-stack-sc-number
- (complex
- (system:sap-ref-long fp (- (* (+ (c:sc-offset-offset sc-offset) 3)
- vm:word-bytes)))
- (system:sap-ref-long fp (- (* (+ (c:sc-offset-offset sc-offset) 6)
- vm:word-bytes)))))
#+double-double
(#.vm:complex-double-double-stack-sc-number
(if escaped
@@ -3560,9 +3516,6 @@ The result is a symbol or nil if the routine cannot be found."
(set-escaped-float-value single-float value))
(#.vm:double-reg-sc-number
(set-escaped-float-value double-float value))
- #+long-float
- (#.vm:long-reg-sc-number
- (set-escaped-float-value long-float value))
(#.vm:complex-single-reg-sc-number
(when escaped
(setf (vm:sigcontext-float-register
@@ -3584,18 +3537,6 @@ The result is a symbol or nil if the routine cannot be found."
'double-float)
(imagpart value)))
value)
- #+long-float
- (#.vm:complex-long-reg-sc-number
- (when escaped
- (setf (vm:sigcontext-float-register
- escaped (c:sc-offset-offset sc-offset) 'long-float)
- (realpart value))
- (setf (vm:sigcontext-float-register
- escaped
- (+ (c:sc-offset-offset sc-offset) #+sparc 4)
- 'long-float)
- (imagpart value)))
- value)
(#.vm:single-stack-sc-number
(with-nfp (nfp)
(setf (system:sap-ref-single nfp (* (c:sc-offset-offset sc-offset)
@@ -3606,12 +3547,6 @@ The result is a symbol or nil if the routine cannot be found."
(setf (system:sap-ref-double nfp (* (c:sc-offset-offset sc-offset)
vm:word-bytes))
(the double-float value))))
- #+long-float
- (#.vm:long-stack-sc-number
- (with-nfp (nfp)
- (setf (system:sap-ref-long nfp (* (c:sc-offset-offset sc-offset)
- vm:word-bytes))
- (the long-float value))))
(#.vm:complex-single-stack-sc-number
(with-nfp (nfp)
(setf (system:sap-ref-single
@@ -3628,16 +3563,6 @@ The result is a symbol or nil if the routine cannot be found."
(setf (system:sap-ref-double
nfp (* (+ (c:sc-offset-offset sc-offset) 2) vm:word-bytes))
(the double-float (realpart value)))))
- #+long-float
- (#.vm:complex-long-stack-sc-number
- (with-nfp (nfp)
- (setf (system:sap-ref-long
- nfp (* (c:sc-offset-offset sc-offset) vm:word-bytes))
- (the long-float (realpart value)))
- (setf (system:sap-ref-long
- nfp (* (+ (c:sc-offset-offset sc-offset) #+sparc 4)
- vm:word-bytes))
- (the long-float (realpart value)))))
(#.vm:control-stack-sc-number
(setf (kernel:stack-ref fp (c:sc-offset-offset sc-offset)) value))
(#.vm:base-char-stack-sc-number
@@ -3690,10 +3615,6 @@ The result is a symbol or nil if the routine cannot be found."
(#.vm:double-reg-sc-number
#+nil ;; don't have escaped floats -- still in npx?
(set-escaped-float-value double-float value))
- #+long-float
- (#.vm:long-reg-sc-number
- #+nil ;; don't have escaped floats -- still in npx?
- (set-escaped-float-value long-float value))
(#.vm:single-stack-sc-number
(setf (system:sap-ref-single
fp (- (* (1+ (c:sc-offset-offset sc-offset)) vm:word-bytes)))
@@ -3702,11 +3623,6 @@ The result is a symbol or nil if the routine cannot be found."
(setf (system:sap-ref-double
fp (- (* (+ (c:sc-offset-offset sc-offset) 2) vm:word-bytes)))
(the double-float value)))
- #+long-float
- (#.vm:long-stack-sc-number
- (setf (system:sap-ref-long
- fp (- (* (+ (c:sc-offset-offset sc-offset) 3) vm:word-bytes)))
- (the long-float value)))
(#.vm:complex-single-stack-sc-number
(setf (system:sap-ref-single
fp (- (* (1+ (c:sc-offset-offset sc-offset)) vm:word-bytes)))
@@ -3721,14 +3637,6 @@ The result is a symbol or nil if the routine cannot be found."
(setf (system:sap-ref-double
fp (- (* (+ (c:sc-offset-offset sc-offset) 4) vm:word-bytes)))
(imagpart (the (complex double-float) value))))
- #+long-float
- (#.vm:complex-long-stack-sc-number
- (setf (system:sap-ref-long
- fp (- (* (+ (c:sc-offset-offset sc-offset) 3) vm:word-bytes)))
- (realpart (the (complex long-float) value)))
- (setf (system:sap-ref-long
- fp (- (* (+ (c:sc-offset-offset sc-offset) 6) vm:word-bytes)))
- (imagpart (the (complex long-float) value))))
(#.vm:control-stack-sc-number
(setf (kernel:stack-ref fp (c:sc-offset-offset sc-offset)) value))
(#.vm:base-char-stack-sc-number
diff --git a/src/code/defstruct.lisp b/src/code/defstruct.lisp
index 931bbb7..3ee290b 100644
--- a/src/code/defstruct.lisp
+++ b/src/code/defstruct.lisp
@@ -69,11 +69,6 @@
(declare (type index index))
(%raw-ref-double vec index))
-#+long-float
-(defun %raw-ref-long (vec index)
- (declare (type index index))
- (%raw-ref-long vec index))
-
(defun %raw-set-single (vec index val)
(declare (type index index))
(%raw-set-single vec index val))
@@ -82,11 +77,6 @@
(declare (type index index))
(%raw-set-double vec index val))
-#+long-float
-(defun %raw-set-long (vec index val)
- (declare (type index index))
- (%raw-set-long vec index val))
-
(defun %raw-ref-complex-single (vec index)
(declare (type index index))
(%raw-ref-complex-single vec index))
@@ -95,11 +85,6 @@
(declare (type index index))
(%raw-ref-complex-double vec index))
-#+long-float
-(defun %raw-ref-complex-long (vec index)
- (declare (type index index))
- (%raw-ref-complex-long vec index))
-
(defun %raw-set-complex-single (vec index val)
(declare (type index index))
(%raw-set-complex-single vec index val))
@@ -108,11 +93,6 @@
(declare (type index index))
(%raw-set-complex-double vec index val))
-#+long-float
-(defun %raw-set-complex-long (vec index val)
- (declare (type index index))
- (%raw-set-complex-long vec index val))
-
(defun %instance-layout (instance)
(%instance-layout instance))
@@ -168,12 +148,8 @@
(defsetf %instance-ref %instance-set)
(defsetf %raw-ref-single %raw-set-single)
(defsetf %raw-ref-double %raw-set-double)
-#+long-float
-(defsetf %raw-ref-long %raw-set-long)
(defsetf %raw-ref-complex-single %raw-set-complex-single)
(defsetf %raw-ref-complex-double %raw-set-complex-double)
-#+long-float
-(defsetf %raw-ref-complex-long %raw-set-complex-long)
(defsetf %instance-layout %set-instance-layout)
(defsetf %funcallable-instance-info %set-funcallable-instance-info)
@@ -294,9 +270,8 @@
(type t) ; declared type specifier
;;
;; If a raw slot, what it holds. T means not raw.
- (raw-type t :type (member t single-float double-float #+long-float long-float
+ (raw-type t :type (member t single-float double-float
complex-single-float complex-double-float
- #+long-float complex-long-float
unsigned-byte))
(read-only nil :type (member t nil)))
@@ -737,16 +712,10 @@
(values 'single-float 1))
((subtypep type 'double-float)
(values 'double-float 2))
- #+long-float
- ((subtypep type 'long-float)
- (values 'long-float #+x86 3 #+sparc 4))
((subtypep type '(complex single-float))
(values 'complex-single-float 2))
((subtypep type '(complex double-float))
(values 'complex-double-float 4))
- #+long-float
- ((subtypep type '(complex long-float))
- (values 'complex-long-float #+x86 6 #+sparc 8))
(t (values nil nil)))
(cond ((not raw-type)
@@ -1147,24 +1116,14 @@
(ecase rtype
(single-float '%raw-ref-single)
(double-float '%raw-ref-double)
- #+long-float
- (long-float '%raw-ref-long)
(complex-single-float '%raw-ref-complex-single)
(complex-double-float '%raw-ref-complex-double)
- #+long-float
- (complex-long-float '%raw-ref-complex-long)
(unsigned-byte 'aref)
((t)
(if (eq (dd-type defstruct) 'funcallable-structure)
'%funcallable-instance-info
'%instance-ref)))
(case rtype
- #+long-float
- (complex-long-float
- (truncate (dsd-index slot) #+x86 6 #+sparc 8))
- #+long-float
- (long-float
- (truncate (dsd-index slot) #+x86 3 #+sparc 4))
(double-float
(ash (dsd-index slot) -1))
(complex-double-float
diff --git a/src/code/fd-stream.lisp b/src/code/fd-stream.lisp
index e41b331..e633b66 100644
--- a/src/code/fd-stream.lisp
+++ b/src/code/fd-stream.lisp
@@ -114,10 +114,6 @@
((simple-array double-float (*)) 8)
((simple-array (complex single-float) (*)) 8)
((simple-array (complex double-float) (*)) 16)
- #+long-float
- ((simple-array long-float (*)) 10)
- #+long-float
- ((simple-array (complex long-float) (*)) 20)
#+double-double
((simple-array double-double-float (*)) 16)
#+double-double
diff --git a/src/code/float.lisp b/src/code/float.lisp
index ce7e572..7ce7021 100644
--- a/src/code/float.lisp
+++ b/src/code/float.lisp
@@ -146,13 +146,8 @@
(ash vm:long-float-hidden-bit 32)))
(defconstant least-negative-normalized-double-float
(double-from-bits 1 vm:double-float-normal-exponent-min 0))
-#-long-float
(defconstant least-negative-normalized-long-float
least-negative-normalized-double-float)
-#+(and long-float x86)
-(defconstant least-negative-normalized-long-float
- (long-from-bits 1 vm:long-float-normal-exponent-min
- (ash vm:long-float-hidden-bit 32)))
(defconstant most-positive-single-float
(single-from-bits 0 vm:single-float-normal-exponent-max
@@ -165,21 +160,11 @@
(defconstant most-positive-double-float
(double-from-bits 0 vm:double-float-normal-exponent-max
(ldb (byte vm:double-float-digits 0) -1)))
-#-long-float
(defconstant most-positive-long-float most-positive-double-float)
-#+(and long-float x86)
-(defconstant most-positive-long-float
- (long-from-bits 0 vm:long-float-normal-exponent-max
- (ldb (byte vm:long-float-digits 0) -1)))
(defconstant most-negative-double-float
(double-from-bits 1 vm:double-float-normal-exponent-max
(ldb (byte vm:double-float-digits 0) -1)))
-#-long-float
(defconstant most-negative-long-float most-negative-double-float)
-#+(and long-float x86)
-(defconstant most-negative-long-float
- (long-from-bits 1 vm:long-float-normal-exponent-max
- (ldb (byte vm:long-float-digits 0) -1)))
(defconstant single-float-positive-infinity
(single-from-bits 0 (1+ vm:single-float-normal-exponent-max) 0))
@@ -189,20 +174,10 @@
(defconstant short-float-negative-infinity single-float-negative-infinity)
(defconstant double-float-positive-infinity
(double-from-bits 0 (1+ vm:double-float-normal-exponent-max) 0))
-#-long-float
(defconstant long-float-positive-infinity double-float-positive-infinity)
-#+(and long-float x86)
-(defconstant long-float-positive-infinity
- (long-from-bits 0 (1+ vm:long-float-normal-exponent-max)
- (ash vm:long-float-hidden-bit 32)))
(defconstant double-float-negative-infinity
(double-from-bits 1 (1+ vm:double-float-normal-exponent-max) 0))
-#-long-float
(defconstant long-float-negative-infinity double-float-negative-infinity)
-#+(and long-float x86)
-(defconstant long-float-negative-infinity
- (long-from-bits 1 (1+ vm:long-float-normal-exponent-max)
- (ash vm:long-float-hidden-bit 32)))
(defconstant single-float-epsilon
(single-from-bits 0 (- vm:single-float-bias (1- vm:single-float-digits)) 1))
@@ -210,32 +185,12 @@
(defconstant single-float-negative-epsilon
(single-from-bits 0 (- vm:single-float-bias vm:single-float-digits) 1))
(defconstant short-float-negative-epsilon single-float-negative-epsilon)
-#-(and long-float x86)
(defconstant double-float-epsilon
(double-from-bits 0 (- vm:double-float-bias (1- vm:double-float-digits)) 1))
-#+(and long-float x86)
-(defconstant double-float-epsilon
- (double-from-bits 0 (- vm:double-float-bias (1- vm:double-float-digits))
- (expt 2 42)))
-#-long-float
(defconstant long-float-epsilon double-float-epsilon)
-#+(and long-float x86)
-(defconstant long-float-epsilon
- (long-from-bits 0 (- vm:long-float-bias (1- vm:long-float-digits))
- (+ 1 (ash vm:long-float-hidden-bit 32))))
-#-(and long-float x86)
(defconstant double-float-negative-epsilon
(double-from-bits 0 (- vm:double-float-bias vm:double-float-digits) 1))
-#+(and long-float x86)
-(defconstant double-float-negative-epsilon
- (double-from-bits 0 (- vm:double-float-bias vm:double-float-digits)
- (expt 2 42)))
-#-long-float
(defconstant long-float-negative-epsilon double-float-negative-epsilon)
-#+(and long-float x86)
-(defconstant long-float-negative-epsilon
- (long-from-bits 0 (- vm:long-float-bias vm:long-float-digits)
- (+ 1 (ash vm:long-float-hidden-bit 32))))
;;;; Float predicates and environment query:
@@ -254,13 +209,9 @@
((double-float)
(and (zerop (ldb vm:double-float-exponent-byte
(double-float-high-bits x)))
- (not (zerop x))))
- #+(and long-float x86)
- ((long-float)
- (and (zerop (ldb vm:long-float-exponent-byte (long-float-exp-bits x)))
(not (zerop x))))))
-(macrolet ((frob (name doc single double #+(and long-float x86) long
+(macrolet ((frob (name doc single double
#+double-double double-double)
`(defun ,name (x)
,doc
@@ -277,15 +228,6 @@
(and (> (ldb vm:double-float-exponent-byte hi)
vm:double-float-normal-exponent-max)
,double)))
- #+(and long-float x86)
- ((long-float)
- (let ((exp (long-float-exp-bits x))
- (hi (long-float-high-bits x))
- (lo (long-float-low-bits x)))
- (declare (ignorable lo))
- (and (> (ldb vm:long-float-exponent-byte exp)
- vm:long-float-normal-exponent-max)
- ,long)))
#+double-double
((double-double-float)
,double-double)))))
@@ -294,9 +236,6 @@
(zerop (ldb vm:single-float-significand-byte bits))
(and (zerop (ldb vm:double-float-significand-byte hi))
(zerop lo))
- #+(and long-float x86)
- (and (zerop (ldb vm:long-float-significand-byte hi))
- (zerop lo))
#+double-double
(float-infinity-p (double-double-hi x)))
@@ -304,9 +243,6 @@
(not (zerop (ldb vm:single-float-significand-byte bits)))
(or (not (zerop (ldb vm:double-float-significand-byte hi)))
(not (zerop lo)))
- #+(and long-float x86)
- (or (not (zerop (ldb vm:long-float-significand-byte hi)))
- (not (zerop lo)))
#+double-double
(float-nan-p (double-double-hi x)))
@@ -316,9 +252,6 @@
vm:single-float-trapping-nan-bit))
(zerop (logand (ldb vm:double-float-significand-byte hi)
vm:double-float-trapping-nan-bit))
- #+(and long-float x86)
- (zerop (logand (ldb vm:long-float-significand-byte hi)
- vm:long-float-trapping-nan-bit))
#+double-double
(float-trapping-nan-p (double-double-hi x))))
@@ -350,10 +283,6 @@
((double-float)
(frob vm:double-float-digits vm:double-float-bias
integer-decode-double-denorm))
- #+long-float
- ((long-float)
- (frob vm:long-float-digits vm:long-float-bias
- integer-decode-long-denorm))
#+double-double
((double-double-float)
;; What exactly is the precision for a double-double? We make
@@ -406,8 +335,6 @@
(let ((f1-sign (if (etypecase float1
(single-float (minusp (single-float-bits float1)))
(double-float (minusp (double-float-high-bits float1)))
- #+long-float
- (long-float (minusp (long-float-exp-bits float1)))
#+double-double
(double-double-float (minusp (float-sign (double-double-hi float1)))))
(float -1 float1)
@@ -424,9 +351,7 @@
(defun float-format-digits (format)
(ecase format
((short-float single-float) vm:single-float-digits)
- ((double-float #-long-float long-float) vm:double-float-digits)
- #+long-float
- (long-float vm:long-float-digits)
+ ((double-float long-float) vm:double-float-digits)
#+double-double
(double-double-float vm:double-double-float-digits)))
@@ -439,8 +364,6 @@
(number-dispatch ((f float))
((single-float) vm:single-float-digits)
((double-float) vm:double-float-digits)
- #+long-float
- ((long-float) vm:long-float-digits)
#+double-double
((double-double-float) vm:double-double-float-digits)))
@@ -566,40 +489,6 @@
biased sign)))))
-;;; INTEGER-DECODE-LONG-DENORM -- Internal
-;;;
-#+(and long-float x86)
-(defun integer-decode-long-denorm (x)
- (declare (type long-float x))
- (let* ((high-bits (long-float-high-bits (abs x)))
- (sig-high (ldb vm:long-float-significand-byte high-bits))
- (low-bits (long-float-low-bits x))
- (sign (if (minusp (float-sign x)) -1 1))
- (biased (- (- vm:long-float-bias) vm:long-float-digits)))
- (if (zerop sig-high)
- (let ((sig low-bits)
- (extra-bias (- vm:long-float-digits 33))
- (bit (ash 1 31)))
- (declare (type (unsigned-byte 32) sig) (fixnum extra-bias))
- (loop
- (unless (zerop (logand sig bit)) (return))
- (setq sig (ash sig 1))
- (incf extra-bias))
- (values (ash sig (- vm:long-float-digits 32))
- (truly-the fixnum (- biased extra-bias))
- sign))
- (let ((sig (ash sig-high 1))
- (extra-bias 0))
- (declare (type (unsigned-byte 32) sig) (fixnum extra-bias))
- (loop
- (unless (zerop (logand sig vm:long-float-hidden-bit))
- (return))
- (setq sig (ash sig 1))
- (incf extra-bias))
- (values (logior (ash sig 32) (ash low-bits (1- extra-bias)))
- (truly-the fixnum (- biased extra-bias))
- sign)))))
-
#+double-double
(defun integer-decode-double-double-float (x)
(declare (type double-double-float x))
@@ -620,27 +509,6 @@
lo-exp
sign)))))
-;;; INTEGER-DECODE-LONG-FLOAT -- Internal
-;;;
-#+(and long-float x86)
-(defun integer-decode-long-float (x)
- (declare (long-float x))
- (let* ((hi (long-float-high-bits x))
- (lo (long-float-low-bits x))
- (exp-bits (long-float-exp-bits x))
- (exp (ldb vm:long-float-exponent-byte exp-bits))
- (sign (if (minusp exp-bits) -1 1))
- (biased (- exp vm:long-float-bias vm:long-float-digits)))
- (declare (fixnum biased))
- (unless (<= exp vm:long-float-normal-exponent-max)
- (error (intl:gettext "Can't decode NAN or infinity: ~S.") x))
- (cond ((and (zerop exp) (zerop hi) (zerop lo))
- (values 0 biased sign))
- ((< exp vm:long-float-normal-exponent-min)
- (integer-decode-long-denorm x))
- (t
- (values (logior (ash hi 32) lo) biased sign)))))
-
;;; INTEGER-DECODE-FLOAT -- Public
;;;
@@ -659,9 +527,6 @@
(integer-decode-single-float x))
((double-float)
(integer-decode-double-float x))
- #+long-float
- ((long-float)
- (integer-decode-long-float x))
#+double-double
((double-double-float)
(integer-decode-double-double-float x))))
@@ -753,45 +618,6 @@
lo)
biased sign)))))
-
-;;; DECODE-LONG-DENORM -- Internal
-;;;
-#+(and long-float x86)
-(defun decode-long-denorm (x)
- (declare (long-float x))
- (multiple-value-bind (sig exp sign)
- (integer-decode-long-denorm x)
- (values (make-long-float vm:long-float-bias (ash sig -32)
- (ldb (byte 32 0) sig))
- (truly-the fixnum (+ exp vm:long-float-digits))
- (float sign x))))
-
-
-;;; DECODE-LONG-FLOAT -- Public
-;;;
-#+(and long-float x86)
-(defun decode-long-float (x)
- (declare (long-float x))
- (let* ((hi (long-float-high-bits x))
- (lo (long-float-low-bits x))
- (exp-bits (long-float-exp-bits x))
- (exp (ldb vm:long-float-exponent-byte exp-bits))
- (sign (if (minusp exp-bits) -1l0 1l0))
- (biased (truly-the long-float-exponent (- exp vm:long-float-bias))))
- (unless (<= exp vm:long-float-normal-exponent-max)
- (error (intl:gettext "Can't decode NAN or infinity: ~S.") x))
- (cond ((zerop x)
- (values 0.0l0 biased sign))
- ((< exp vm:long-float-normal-exponent-min)
- (decode-long-denorm x))
- (t
- (values (make-long-float
- (dpb vm:long-float-bias vm:long-float-exponent-byte
- exp-bits)
- hi
- lo)
- biased sign)))))
-
;;; DECODE-DOUBLE-DOUBLE-FLOAT -- Public
#+double-double
(defun decode-double-double-float (x)
@@ -818,9 +644,6 @@
(decode-single-float f))
((double-float)
(decode-double-float f))
- #+long-float
- ((long-float)
- (decode-long-float f))
#+double-double
((double-double-float)
(decode-double-double-float f))))
@@ -942,11 +765,6 @@
(make-double-float (dpb new-exp vm:double-float-exponent-byte hi)
lo)))))
-#+(and x86 long-float)
-(defun scale-long-float (x exp)
- (declare (long-float x) (fixnum exp))
- (scale-float x exp))
-
#+double-double
(defun scale-double-double-float (x exp)
(declare (type double-double-float x) (fixnum exp))
@@ -967,9 +785,6 @@
(scale-single-float f ex))
((double-float)
(scale-double-float f ex))
- #+long-float
- ((long-float)
- (scale-long-float f ex))
#+double-double
((double-double-float)
(scale-double-double-float f ex))))
@@ -983,9 +798,9 @@
result is the same float format as OTHER."
(if otherp
(number-dispatch ((number real) (other float))
- (((foreach rational single-float double-float #+long-float long-float
+ (((foreach rational single-float double-float
#+double-double double-double-float)
- (foreach single-float double-float #+long-float long-float
+ (foreach single-float double-float
#+double-double double-double-float))
(coerce number '(dispatch-type other))))
(if (floatp number)
@@ -997,7 +812,6 @@
`(defun ,name (x)
(number-dispatch ((x real))
(((foreach single-float double-float
- #+long-float long-float
#+double-double double-double-float
fixnum))
(coerce x ',type))
@@ -1007,8 +821,6 @@
(float-ratio x ',type))))))
(frob %single-float single-float)
(frob %double-float double-float)
- #+long-float
- (frob %long-float long-float)
#+(and nil double-double)
(frob %double-double-float double-double-float))
@@ -1105,10 +917,7 @@
(single-float
(single-from-bits sign vm:single-float-bias bits))
(double-float
- (double-from-bits sign vm:double-float-bias bits))
- #+long-float
- (long-float
- (long-from-bits sign vm:long-float-bias bits))))))
+ (double-from-bits sign vm:double-float-bias bits))))))
(loop
(multiple-value-bind (fraction-and-guard rem)
(truncate shifted-num den)
@@ -1226,7 +1035,7 @@ rounding modes & do ieee round-to-integer.
(number-dispatch ((number real))
((integer) number)
((ratio) (values (truncate (numerator number) (denominator number))))
- (((foreach single-float double-float #+long-float long-float))
+ (((foreach single-float double-float))
(if (< (float most-negative-fixnum number)
number
(float most-positive-fixnum number))
@@ -1283,7 +1092,7 @@ rounding modes & do ieee round-to-integer.
(number-dispatch ((number real))
((integer) number)
((ratio) (values (round (numerator number) (denominator number))))
- (((foreach single-float double-float #+long-float long-float))
+ (((foreach single-float double-float))
(if (< (float most-negative-fixnum number)
number
(float most-positive-fixnum number))
@@ -1504,7 +1313,7 @@ rounding modes & do ieee round-to-integer.
more efficient than RATIONALIZE, but it assumes that floating-point is
completely accurate, giving a result that isn't as pretty."
(number-dispatch ((x real))
- (((foreach single-float double-float #+long-float long-float
+ (((foreach single-float double-float
#+double-double double-double-float))
(multiple-value-bind (bits exp)
(integer-decode-float x)
@@ -1625,7 +1434,7 @@ rounding modes & do ieee round-to-integer.
their precision. RATIONALIZE (and also RATIONAL) preserve the invariant:
(= x (float (rationalize x) x))"
(number-dispatch ((x real))
- (((foreach single-float double-float #+long-float long-float
+ (((foreach single-float double-float
#+double-double double-double-float))
;; This is a fairly straigtforward implementation of the iterative
;; algorithm above.
-----------------------------------------------------------------------
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-09-1-g000a0be
by Raymond Toy 03 Sep '12
by Raymond Toy 03 Sep '12
03 Sep '12
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 000a0be020acb860f0bf06580bfc2557fd803d00 (commit)
from 4fd2baf278cc7d8d732d40a3c587bff02a3c1330 (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 000a0be020acb860f0bf06580bfc2557fd803d00
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Mon Sep 3 08:08:54 2012 -0700
Finish splitting out x86-validate into separate OS versions.
* Didn't finish the solaris split in previous commit, so finish it
now.
* Split out FreeBSD, NetBSD, and OpenBSD into new files.
diff --git a/src/lisp/x86-validate-freebsd.h b/src/lisp/x86-validate-freebsd.h
new file mode 100644
index 0000000..3c97cb0
--- /dev/null
+++ b/src/lisp/x86-validate-freebsd.h
@@ -0,0 +1,58 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_FREEBSD_H_
+#define _X86_VALIDATE_FREEBSD_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ *
+ * Address map:
+ *
+ * FreeBSD:
+ * 0x00000000->0x0E000000 224M C program and memory allocation.
+ * 0x0E000000->0x10000000 32M Foreign segment.
+ * 0x10000000->0x20000000 256M Read-Only Space.
+ * 0x20000000->0x28000000 128M Reserved for shared libraries.
+ * 0x28000000->0x38000000 256M Static Space.
+ * 0x38000000->0x40000000 128M Binding stack growing up.
+ * 0x40000000->0x48000000 128M Control stack growing down.
+ * 0x48000000->0xB0000000 1664M Dynamic Space.
+ * 0xB0000000->0xB1000000 Foreign Linkage Table
+ * 0xE0000000-> 256M C stack - Alien stack.
+ */
+
+#define READ_ONLY_SPACE_START (0x10000000)
+#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define STATIC_SPACE_START (0x28f00000)
+#define STATIC_SPACE_SIZE (0x0f0ff000) /* 241MB - 1 page */
+
+#define BINDING_STACK_START (0x38000000)
+#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
+
+#define CONTROL_STACK_START 0x40000000
+#define CONTROL_STACK_SIZE 0x07fd8000 /* 128MB - SIGSTKSZ */
+#define SIGNAL_STACK_START 0x47fd8000
+#define SIGNAL_STACK_SIZE SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START (0x48000000UL)
+
+#ifdef GENCGC
+#define DYNAMIC_SPACE_SIZE (0x78000000UL) /* May be up to 1.7 GB */
+#else
+#define DYNAMIC_SPACE_SIZE (0x04000000UL) /* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000UL) /* 512MB */
+
+#ifdef LINKAGE_TABLE
+#define FOREIGN_LINKAGE_SPACE_START ((unsigned long) LinkageSpaceStart)
+#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000UL) /* 1MB */
+#endif
+
+#endif
diff --git a/src/lisp/x86-validate-netbsd.h b/src/lisp/x86-validate-netbsd.h
new file mode 100644
index 0000000..a175f02
--- /dev/null
+++ b/src/lisp/x86-validate-netbsd.h
@@ -0,0 +1,59 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_NETBSD_H_
+#define _X86_VALIDATE_NETBSD_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ *
+ * Address map:
+ * NetBSD:
+ * 0x00000000->0x0E000000 224M C program and memory allocation.
+ * 0x0E000000->0x10000000 32M Foreign segment.
+ * 0x10000000->0x20000000 256M Read-Only Space.
+ * 0x28000000->0x38000000 256M Static Space.
+ * 0x38000000->0x40000000 128M Binding stack growing up.
+ * 0x40000000->0x48000000 128M Control stack growing down.
+ * 0x48800000->0xB0000000 1656M Dynamic Space.
+ * 0xB0000000->0xB1000000 16M Foreign Linkage Table
+ * 0xE0000000-> 256M C stack - Alien stack.
+ *
+ */
+
+#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
+#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define STATIC_SPACE_START (SpaceStart_TargetStatic)
+#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define BINDING_STACK_START (0x38000000)
+#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
+
+#define CONTROL_STACK_START (0x40000000)
+
+#define CONTROL_STACK_SIZE (0x07fd8000) /* 128MB - SIGSTKSZ */
+
+#define SIGNAL_STACK_START (0x47fd8000)
+#define SIGNAL_STACK_SIZE SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
+
+#ifdef GENCGC
+#define DYNAMIC_SPACE_SIZE (0x67800000U) /* 1.656GB */
+#else
+#define DYNAMIC_SPACE_SIZE (0x04000000U) /* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000U) /* 512MB */
+
+#ifdef LINKAGE_TABLE
+#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
+#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
+#endif
+
+#endif
diff --git a/src/lisp/x86-validate-openbsd.h b/src/lisp/x86-validate-openbsd.h
new file mode 100644
index 0000000..2aafbf0
--- /dev/null
+++ b/src/lisp/x86-validate-openbsd.h
@@ -0,0 +1,55 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_H_
+#define _X86_VALIDATE_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ *
+ * Address map:
+ *
+ * OpenBSD:
+ * 0x00000000->0x0E000000 224M C program and memory allocation.
+ * 0x0E000000->0x10000000 32M Foreign segment.
+ * 0x10000000->0x20000000 256M Read-Only Space.
+ * 0x20000000->0x28000000 128M Binding stack growing up.
+ * 0x28000000->0x38000000 256M Static Space.
+ * 0x38000000->0x40000000 128M Control stack growing down.
+ * 0x40000000->0x48000000 128M Reserved for shared libraries.
+ * 0x48000000->0xB0000000 1664M Dynamic Space.
+ * 0xB0000000->0xB1000000 16M Foreign Linkage Table
+ * 0xE0000000-> 256M C stack - Alien stack.
+ *
+ */
+
+#define READ_ONLY_SPACE_START (0x10000000)
+#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define STATIC_SPACE_START (0x28000000)
+#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define BINDING_STACK_START (0x38000000)
+#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
+
+#define CONTROL_STACK_START (0x40000000)
+#define CONTROL_STACK_SIZE (0x07fd8000) /* 128MB - SIGSTKSZ */
+
+#define SIGNAL_STACK_START (0x47fd8000)
+#define SIGNAL_STACK_SIZE SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START (0x48000000)
+
+#ifdef GENCGC
+#define DYNAMIC_SPACE_SIZE (0x68000000) /* 1.625GB */
+#else
+#define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
+
+#endif
diff --git a/src/lisp/x86-validate.h b/src/lisp/x86-validate.h
index 8db3bcb..b9b5677 100644
--- a/src/lisp/x86-validate.h
+++ b/src/lisp/x86-validate.h
@@ -16,193 +16,16 @@
#include "x86-validate-darwin.h"
#endif
-/*
- * Also look in compiler/x86/parms.lisp for some of the parameters.
- *
- * Address map:
- *
- * FreeBSD:
- * 0x00000000->0x0E000000 224M C program and memory allocation.
- * 0x0E000000->0x10000000 32M Foreign segment.
- * 0x10000000->0x20000000 256M Read-Only Space.
- * 0x20000000->0x28000000 128M Reserved for shared libraries.
- * 0x28000000->0x38000000 256M Static Space.
- * 0x38000000->0x40000000 128M Binding stack growing up.
- * 0x40000000->0x48000000 128M Control stack growing down.
- * 0x48000000->0xB0000000 1664M Dynamic Space.
- * 0xB0000000->0xB1000000 Foreign Linkage Table
- * 0xE0000000-> 256M C stack - Alien stack.
- *
- * OpenBSD:
- * 0x00000000->0x0E000000 224M C program and memory allocation.
- * 0x0E000000->0x10000000 32M Foreign segment.
- * 0x10000000->0x20000000 256M Read-Only Space.
- * 0x20000000->0x28000000 128M Binding stack growing up.
- * 0x28000000->0x38000000 256M Static Space.
- * 0x38000000->0x40000000 128M Control stack growing down.
- * 0x40000000->0x48000000 128M Reserved for shared libraries.
- * 0x48000000->0xB0000000 1664M Dynamic Space.
- * 0xB0000000->0xB1000000 16M Foreign Linkage Table
- * 0xE0000000-> 256M C stack - Alien stack.
- *
- * NetBSD:
- * 0x00000000->0x0E000000 224M C program and memory allocation.
- * 0x0E000000->0x10000000 32M Foreign segment.
- * 0x10000000->0x20000000 256M Read-Only Space.
- * 0x28000000->0x38000000 256M Static Space.
- * 0x38000000->0x40000000 128M Binding stack growing up.
- * 0x40000000->0x48000000 128M Control stack growing down.
- * 0x48800000->0xB0000000 1656M Dynamic Space.
- * 0xB0000000->0xB1000000 16M Foreign Linkage Table
- * 0xE0000000-> 256M C stack - Alien stack.
- *
- * Linux:
- * 0x00000000->0x08000000 128M Unused.
- * 0x08000000->0x10000000 128M C program and memory allocation.
- * 0x10000000->0x20000000 256M Read-Only Space.
- * 0x20000000->0x28000000 128M Binding stack growing up.
- * 0x28000000->0x38000000 256M Static Space.
- * 0x38000000->0x40000000 128M Control stack growing down.
- * 0x40000000->0x48000000 128M Reserved for shared libraries.
- * 0x58000000->0x58100000 16M Foreign Linkage Table
- * 0x58100000->0xBE000000 1631M Dynamic Space.
- * 0xBFFF0000->0xC0000000 Unknown Linux mapping
- *
- * (Note: 0x58000000 allows us to run on a Linux system on an AMD
- * x86-64. Hence we have a gap of unused memory starting at
- * 0x48000000.)
- */
-
-#ifdef __FreeBSD__
-#define READ_ONLY_SPACE_START (0x10000000)
-#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define STATIC_SPACE_START (0x28f00000)
-#define STATIC_SPACE_SIZE (0x0f0ff000) /* 241MB - 1 page */
-
-#define BINDING_STACK_START (0x38000000)
-#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-
-#define CONTROL_STACK_START 0x40000000
-#define CONTROL_STACK_SIZE 0x07fd8000 /* 128MB - SIGSTKSZ */
-#define SIGNAL_STACK_START 0x47fd8000
-#define SIGNAL_STACK_SIZE SIGSTKSZ
-
-#define DYNAMIC_0_SPACE_START (0x48000000UL)
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE (0x78000000UL) /* May be up to 1.7 GB */
-#else
-#define DYNAMIC_SPACE_SIZE (0x04000000UL) /* 64MB */
-#endif
-#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000UL) /* 512MB */
-#ifdef LINKAGE_TABLE
-#define FOREIGN_LINKAGE_SPACE_START ((unsigned long) LinkageSpaceStart)
-#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000UL) /* 1MB */
-#endif
-#endif /* __FreeBSD__ */
-
-
-#ifdef __OpenBSD__
-#define READ_ONLY_SPACE_START (0x10000000)
-#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define STATIC_SPACE_START (0x28000000)
-#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define BINDING_STACK_START (0x38000000)
-#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-
-#define CONTROL_STACK_START (0x40000000)
-#define CONTROL_STACK_SIZE (0x07fd8000) /* 128MB - SIGSTKSZ */
-
-#define SIGNAL_STACK_START (0x47fd8000)
-#define SIGNAL_STACK_SIZE SIGSTKSZ
-
-#define DYNAMIC_0_SPACE_START (0x48000000)
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE (0x68000000) /* 1.625GB */
-#else
-#define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
-#endif
-#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
+#if defined(SOLARIS)
+#include "x86-validate-solaris.h"
#endif
#if defined(__NetBSD__)
-#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
-#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define STATIC_SPACE_START (SpaceStart_TargetStatic)
-#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define BINDING_STACK_START (0x38000000)
-#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-
-#define CONTROL_STACK_START (0x40000000)
-
-#define CONTROL_STACK_SIZE (0x07fd8000) /* 128MB - SIGSTKSZ */
-
-#define SIGNAL_STACK_START (0x47fd8000)
-#define SIGNAL_STACK_SIZE SIGSTKSZ
-
-#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE (0x67800000U) /* 1.656GB */
-#else
-#define DYNAMIC_SPACE_SIZE (0x04000000U) /* 64MB */
-#endif
-
-#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000U) /* 512MB */
-#ifdef LINKAGE_TABLE
-#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
-#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
+#include "x86-validate-netbsd.h"
#endif
-#endif /* __NetBSD__ || DARWIN */
-
-#ifdef SOLARIS
-/*
- * The memory map for Solaris/x86 looks roughly like
- *
- * 0x08045000->0x08050000 C stack?
- * 0x08050000-> Code + C heap
- * 0x10000000->0x20000000 256 MB read-only space
- * 0x20000000->0x28000000 128M Binding stack growing up.
- * 0x28000000->0x30000000 256M Static Space.
- * 0x30000000->0x31000000 16M Foreign linkage table
- * 0x38000000->0x40000000 128M Control stack growing down.
- * 0x40000000->0xD0000000 2304M Dynamic Space.
- *
- * Starting at 0xd0ce0000 there is some mapped anon memory. libc
- * seems to start at 0xd0d40000 and other places. Looks like memory
- * above 0xd0ffe000 or so is not mapped.
- */
-
-#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
-#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define STATIC_SPACE_START (SpaceStart_TargetStatic)
-#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define BINDING_STACK_START (0x20000000)
-#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-
-#define CONTROL_STACK_START 0x38000000
-#define CONTROL_STACK_SIZE (0x07fff000 - 8192)
-#define SIGNAL_STACK_START CONTROL_STACK_END
-#define SIGNAL_STACK_SIZE SIGSTKSZ
-
-#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
-
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE (0x90000000) /* 2.304GB */
-#else
-#define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
-#endif
-#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
-#ifdef LINKAGE_TABLE
-#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
-#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
-#endif
+#if defined(__FreeBSD__)
+#include "x86-validate-freebsd.h"
#endif
#define CONTROL_STACK_END (CONTROL_STACK_START + control_stack_size)
-----------------------------------------------------------------------
Summary of changes:
src/lisp/x86-validate-freebsd.h | 58 ++++++
...x86-validate-darwin.h => x86-validate-netbsd.h} | 37 ++--
src/lisp/x86-validate-openbsd.h | 55 ++++++
src/lisp/x86-validate.h | 187 +-------------------
4 files changed, 138 insertions(+), 199 deletions(-)
create mode 100644 src/lisp/x86-validate-freebsd.h
copy src/lisp/{x86-validate-darwin.h => x86-validate-netbsd.h} (57%)
create mode 100644 src/lisp/x86-validate-openbsd.h
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp annotated tag snapshot-2012-09 created. snapshot-2012-09
by Raymond Toy 01 Sep '12
by Raymond Toy 01 Sep '12
01 Sep '12
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 annotated tag, snapshot-2012-09 has been created
at f721c450f4843a8100651a7a219c258b6bfb0e26 (tag)
tagging 4fd2baf278cc7d8d732d40a3c587bff02a3c1330 (commit)
replaces snapshot-2012-08
tagged by Raymond Toy
on Sat Sep 1 12:11:05 2012 -0700
- Log -----------------------------------------------------------------
Snapshot 2012-09
Raymond Toy (13):
Support Lion and Mountain Lion which return x86-64 for uname -m.
Use /usr/bin/sed instead of whatever is in the path.
src/lisp/os.h:
Move the FPU save/restore stuff from os.h to arch.h
Floating-point micro-optimizations
Need to wrap EVAL-WHEN around USE-PACKAGE since use-package doesn't
Change %primitive print.to output strings in utf8 instead of utf16.
Minor cleanups of utf8 code.
Clean up debug_print. Surrogate pairs are always high surrogate
Update to asdf 2.24.
Clean up RCS ids
Update from logs.
Split x86-validate into separate files.
-----------------------------------------------------------------------
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-08-13-g4fd2baf
by Raymond Toy 01 Sep '12
by Raymond Toy 01 Sep '12
01 Sep '12
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 4fd2baf278cc7d8d732d40a3c587bff02a3c1330 (commit)
via 7ce792af9ca1d7afc9ffec3b85e2b996191e6d4c (commit)
via eeab7066adf9381bb734240b01d5c715a17ddf08 (commit)
from b6f29d0ea8a591fde0cd7fdc623bfe8959d87a75 (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 4fd2baf278cc7d8d732d40a3c587bff02a3c1330
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Sat Sep 1 11:08:01 2012 -0700
Split x86-validate into separate files.
src/lisp/x86-validate.h:
o Remove linux, darwin, and solaris parts
src/lisp/x86-validate-linux.h:
src/lisp/x86-validate-darwin.h:
src/lisp/x86-validate-solaris.h:
o New files for each os.
diff --git a/src/lisp/x86-validate-darwin.h b/src/lisp/x86-validate-darwin.h
new file mode 100644
index 0000000..53166e8
--- /dev/null
+++ b/src/lisp/x86-validate-darwin.h
@@ -0,0 +1,56 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_DARWIN_H_
+#define _X86_VALIDATE_DARWIN_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ */
+
+#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
+#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define STATIC_SPACE_START (SpaceStart_TargetStatic)
+#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define BINDING_STACK_START (0x38000000)
+#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
+
+#define CONTROL_STACK_START (0x40000000)
+
+/*
+ * According to /usr/include/sys/signal.h, MINSIGSTKSZ is 32K and
+ * SIGSTKSZ is 128K. We should account for that appropriately.
+ */
+#define CONTROL_STACK_SIZE (0x07fdf000) /* 128MB - SIGSTKSZ - 1 page */
+
+#define SIGNAL_STACK_START (0x47fe0000) /* One page past the end of the control stack */
+#define SIGNAL_STACK_SIZE SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
+#ifdef GENCGC
+
+/*
+ * On Darwin, /usr/lib/dyld appears to always be loaded at address
+ * #x8fe2e000. Hence, the maximum dynamic space size is 1206050816
+ * bytes, or just over 1.150 GB. Set the limit to 1.150 GB.
+ */
+#define DYNAMIC_SPACE_SIZE (0x47E00000U) /* 1.150GB */
+
+#else
+#define DYNAMIC_SPACE_SIZE (0x04000000U) /* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000U) /* 512MB */
+
+#ifdef LINKAGE_TABLE
+#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
+#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
+#endif
+
+#endif /*_X86_VALIDATE_DARWIN_H_*/
diff --git a/src/lisp/x86-validate-linux.h b/src/lisp/x86-validate-linux.h
new file mode 100644
index 0000000..4a0e46c
--- /dev/null
+++ b/src/lisp/x86-validate-linux.h
@@ -0,0 +1,64 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_LINUX_H_
+#define _X86_VALIDATE_LINUX_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ *
+ * Address map:
+ *
+ * Linux:
+ * 0x00000000->0x08000000 128M Unused.
+ * 0x08000000->0x10000000 128M C program and memory allocation.
+ * 0x10000000->0x20000000 256M Read-Only Space.
+ * 0x20000000->0x28000000 128M Binding stack growing up.
+ * 0x28000000->0x38000000 256M Static Space.
+ * 0x38000000->0x40000000 128M Control stack growing down.
+ * 0x40000000->0x48000000 128M Reserved for shared libraries.
+ * 0x58000000->0x58100000 16M Foreign Linkage Table
+ * 0x58100000->0xBE000000 1631M Dynamic Space.
+ * 0xBFFF0000->0xC0000000 Unknown Linux mapping
+ *
+ * (Note: 0x58000000 allows us to run on a Linux system on an AMD
+ * x86-64. Hence we have a gap of unused memory starting at
+ * 0x48000000.)
+ */
+
+#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
+#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define STATIC_SPACE_START (SpaceStart_TargetStatic)
+#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define BINDING_STACK_START (0x20000000)
+#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
+
+#define CONTROL_STACK_START 0x38000000
+#define CONTROL_STACK_SIZE (0x07fff000 - 8192)
+
+#define SIGNAL_STACK_START CONTROL_STACK_END
+#define SIGNAL_STACK_SIZE SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
+
+#ifdef GENCGC
+#define DYNAMIC_SPACE_SIZE (0x66000000) /* 1.632GB */
+#else
+#define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
+
+#ifdef LINKAGE_TABLE
+#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
+#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
+#endif
+
+#endif
+
diff --git a/src/lisp/x86-validate-solaris.h b/src/lisp/x86-validate-solaris.h
new file mode 100644
index 0000000..32e3a2f
--- /dev/null
+++ b/src/lisp/x86-validate-solaris.h
@@ -0,0 +1,60 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_SOLARIS_H_
+#define _X86_VALIDATE_SOLARIS_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ *
+ * The memory map for Solaris/x86 looks roughly like
+ *
+ * 0x08045000->0x08050000 C stack?
+ * 0x08050000-> Code + C heap
+ * 0x10000000->0x20000000 256 MB read-only space
+ * 0x20000000->0x28000000 128M Binding stack growing up.
+ * 0x28000000->0x30000000 256M Static Space.
+ * 0x30000000->0x31000000 16M Foreign linkage table
+ * 0x38000000->0x40000000 128M Control stack growing down.
+ * 0x40000000->0xD0000000 2304M Dynamic Space.
+ *
+ * Starting at 0xd0ce0000 there is some mapped anon memory. libc
+ * seems to start at 0xd0d40000 and other places. Looks like memory
+ * above 0xd0ffe000 or so is not mapped.
+ */
+
+#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
+#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define STATIC_SPACE_START (SpaceStart_TargetStatic)
+#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
+
+#define BINDING_STACK_START (0x20000000)
+#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
+
+#define CONTROL_STACK_START 0x38000000
+#define CONTROL_STACK_SIZE (0x07fff000 - 8192)
+#define SIGNAL_STACK_START CONTROL_STACK_END
+#define SIGNAL_STACK_SIZE SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
+
+#ifdef GENCGC
+#define DYNAMIC_SPACE_SIZE (0x90000000) /* 2.304GB */
+#else
+#define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
+
+#ifdef LINKAGE_TABLE
+#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
+#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
+#endif
+
+#endif
+
diff --git a/src/lisp/x86-validate.h b/src/lisp/x86-validate.h
index 5580401..8db3bcb 100644
--- a/src/lisp/x86-validate.h
+++ b/src/lisp/x86-validate.h
@@ -8,6 +8,14 @@
#ifndef _X86_VALIDATE_H_
#define _X86_VALIDATE_H_
+#if defined(__linux__)
+#include "x86-validate-linux.h"
+#endif
+
+#if defined(DARWIN)
+#include "x86-validate-darwin.h"
+#endif
+
/*
* Also look in compiler/x86/parms.lisp for some of the parameters.
*
@@ -119,7 +127,7 @@
#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
#endif
-#if defined(__NetBSD__) || defined(DARWIN)
+#if defined(__NetBSD__)
#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
@@ -130,73 +138,26 @@
#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
#define CONTROL_STACK_START (0x40000000)
-#if defined(DARWIN)
-/*
- * According to /usr/include/sys/signal.h, MINSIGSTKSZ is 32K and
- * SIGSTKSZ is 128K. We should account for that appropriately.
- */
-#define CONTROL_STACK_SIZE (0x07fdf000) /* 128MB - SIGSTKSZ - 1 page */
-#define SIGNAL_STACK_START (0x47fe0000) /* One page past the end of the control stack */
-#define SIGNAL_STACK_SIZE SIGSTKSZ
-#else
#define CONTROL_STACK_SIZE (0x07fd8000) /* 128MB - SIGSTKSZ */
#define SIGNAL_STACK_START (0x47fd8000)
#define SIGNAL_STACK_SIZE SIGSTKSZ
-#endif
#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
#ifdef GENCGC
-#if defined(DARWIN)
-/*
- * On Darwin, /usr/lib/dyld appears to always be loaded at address
- * #x8fe2e000. Hence, the maximum dynamic space size is 1206050816
- * bytes, or just over 1.150 GB. Set the limit to 1.150 GB.
- */
-#define DYNAMIC_SPACE_SIZE (0x47E00000U) /* 1.150GB */
-#else
#define DYNAMIC_SPACE_SIZE (0x67800000U) /* 1.656GB */
-#endif
#else
#define DYNAMIC_SPACE_SIZE (0x04000000U) /* 64MB */
#endif
+
#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000U) /* 512MB */
#ifdef LINKAGE_TABLE
#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
#endif
-#endif /* __NetBSD__ || DARWIN */
-
-#ifdef __linux__
-#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
-#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define STATIC_SPACE_START (SpaceStart_TargetStatic)
-#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-
-#define BINDING_STACK_START (0x20000000)
-#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-
-#define CONTROL_STACK_START 0x38000000
-#define CONTROL_STACK_SIZE (0x07fff000 - 8192)
-
-#define SIGNAL_STACK_START CONTROL_STACK_END
-#define SIGNAL_STACK_SIZE SIGSTKSZ
-
-#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE (0x66000000) /* 1.632GB */
-#else
-#define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
-#endif
-#define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
-#ifdef LINKAGE_TABLE
-#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
-#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
-#endif
-#endif
+#endif /* __NetBSD__ || DARWIN */
#ifdef SOLARIS
/*
commit 7ce792af9ca1d7afc9ffec3b85e2b996191e6d4c
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Sat Sep 1 11:05:15 2012 -0700
Update from logs.
diff --git a/src/general-info/release-20d.txt b/src/general-info/release-20d.txt
index 188479c..827a741 100644
--- a/src/general-info/release-20d.txt
+++ b/src/general-info/release-20d.txt
@@ -52,7 +52,9 @@ New in this release:
happens and now matches how ppc and sparc behave.
* OSX Lion and XCode 4 can now compile cmucl without problems.
* OSX 10.4 is no longer supported.
-
+ * Micro optimizations for floats: 2*x -> x+x and x/2^n ->
+ (2^(n))*x.
+
* ANSI compliance fixes:
* CMUCL was not printing pathnames like (make-pathname :directory
'(:absolute "tmp" "" "/")) correctly. This is now printed using
@@ -88,6 +90,8 @@ New in this release:
external format. It defaulted to using
*DEFAULT-EXTERNAL-FORMAT* instead of the format used when
compiling the file.
+ * Minor build issue in CLM debugger interface due to USE-PACKAGE
+ no longer having special compiler treatment.
* Trac Tickets:
* #50: Print/read error with make-pathname.
@@ -100,9 +104,6 @@ New in this release:
* Other changes:
* The layout of the cmucl directories has been changed.
- * On darwin/x86, gcc-4.2 is explicitly used in case Xcode 4 is
- installed. CMUCL doesn't run correctly when built with gcc/llvm
- in Xcode 4.
* Add -R option to build.sh to force recompiling the C
runtime. (Default it to compile only what is changed.)
* Add -R option to build-all.sh to force recompiling the C
commit eeab7066adf9381bb734240b01d5c715a17ddf08
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Sat Sep 1 10:46:55 2012 -0700
Clean up RCS ids
* Get rid of the RCS Header stuff. They're meaningless in git.
* Add public domain comment to some of the files if the only comment
was the RCS header.
diff --git a/src/lisp/Darwin-os.c b/src/lisp/Darwin-os.c
index f878a84..c18d47f 100644
--- a/src/lisp/Darwin-os.c
+++ b/src/lisp/Darwin-os.c
@@ -14,8 +14,6 @@
* Frobbed for OpenBSD by Pierre R. Mai, 2001.
* Frobbed for Darwin by Pierre R. Mai, 2003.
*
- * $Header: /project/cmucl/cvsroot/src/lisp/Darwin-os.c,v 1.16.4.3 2009-03-18 15:37:29 rtoy Exp $
- *
*/
#include <stdio.h>
diff --git a/src/lisp/Darwin-os.h b/src/lisp/Darwin-os.h
index 0ea24f4..85991a5 100644
--- a/src/lisp/Darwin-os.h
+++ b/src/lisp/Darwin-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /project/cmucl/cvsroot/src/lisp/Darwin-os.h,v 1.7 2008-01-03 11:41:54 cshapiro Exp $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/FreeBSD-os.c b/src/lisp/FreeBSD-os.c
index 7a06222..e42ea5b 100644
--- a/src/lisp/FreeBSD-os.c
+++ b/src/lisp/FreeBSD-os.c
@@ -12,8 +12,6 @@
* Much hacked by Paul Werkowski
* GENCGC support by Douglas Crosher, 1996, 1997.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/FreeBSD-os.c,v 1.38 2011/09/01 05:18:26 rtoy Exp $
- *
*/
#include "os.h"
diff --git a/src/lisp/FreeBSD-os.h b/src/lisp/FreeBSD-os.h
index 7150316..3e1aee6 100644
--- a/src/lisp/FreeBSD-os.h
+++ b/src/lisp/FreeBSD-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/FreeBSD-os.h,v 1.23 2009/01/20 04:45:18 agoncharov Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/Linux-os.c b/src/lisp/Linux-os.c
index 8f85101..296ff2a 100644
--- a/src/lisp/Linux-os.c
+++ b/src/lisp/Linux-os.c
@@ -15,8 +15,6 @@
* GENCGC support by Douglas Crosher, 1996, 1997.
* Alpha support by Julian Dolby, 1999.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/Linux-os.c,v 1.52 2011/09/01 05:18:26 rtoy Exp $
- *
*/
#include <stdio.h>
diff --git a/src/lisp/Linux-os.h b/src/lisp/Linux-os.h
index b00e454..3ab1877 100644
--- a/src/lisp/Linux-os.h
+++ b/src/lisp/Linux-os.h
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/Linux-os.h,v 1.30 2009/11/02 15:05:07 rtoy Rel $
+/*
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/NetBSD-os.c b/src/lisp/NetBSD-os.c
index 2cc359e..e73d693 100644
--- a/src/lisp/NetBSD-os.c
+++ b/src/lisp/NetBSD-os.c
@@ -15,7 +15,6 @@
* Frobbed for OpenBSD by Pierre R. Mai, 2001.
* Frobbed for NetBSD by Pierre R. Mai, 2002.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/NetBSD-os.c,v 1.20 2011/09/01 05:18:26 rtoy Exp $
*
*/
diff --git a/src/lisp/NetBSD-os.h b/src/lisp/NetBSD-os.h
index 497429a..e2a8fe8 100644
--- a/src/lisp/NetBSD-os.h
+++ b/src/lisp/NetBSD-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/NetBSD-os.h,v 1.9 2009/08/30 19:17:55 rswindells Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/OpenBSD-os.c b/src/lisp/OpenBSD-os.c
index 40b2a70..088d96a 100644
--- a/src/lisp/OpenBSD-os.c
+++ b/src/lisp/OpenBSD-os.c
@@ -13,8 +13,6 @@
* GENCGC support by Douglas Crosher, 1996, 1997.
* Frobbed for OpenBSD by Pierre R. Mai, 2001.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/OpenBSD-os.c,v 1.11 2011/09/01 05:18:26 rtoy Exp $
- *
*/
#include <stdio.h>
diff --git a/src/lisp/OpenBSD-os.h b/src/lisp/OpenBSD-os.h
index c69dcdb..dac5e15 100644
--- a/src/lisp/OpenBSD-os.h
+++ b/src/lisp/OpenBSD-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/OpenBSD-os.h,v 1.6 2007/06/12 03:21:46 cshapiro Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/alloc.c b/src/lisp/alloc.c
index ed181d0..074203a 100644
--- a/src/lisp/alloc.c
+++ b/src/lisp/alloc.c
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alloc.c,v 1.12 2009/06/11 16:04:01 rtoy Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#include <stdio.h>
#include <string.h>
diff --git a/src/lisp/alloc.h b/src/lisp/alloc.h
index 5df9fcb..040393e 100644
--- a/src/lisp/alloc.h
+++ b/src/lisp/alloc.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alloc.h,v 1.3 2009/01/20 03:58:11 agoncharov Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _ALLOC_H_
#define _ALLOC_H_
diff --git a/src/lisp/alpha-arch.c b/src/lisp/alpha-arch.c
index 91af4b1..21f516d 100644
--- a/src/lisp/alpha-arch.c
+++ b/src/lisp/alpha-arch.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alpha-arch.c,v 1.11 2008/03/19 09:17:10 cshapiro Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/alpha-lispregs.h b/src/lisp/alpha-lispregs.h
index 9900cf0..25a745a 100644
--- a/src/lisp/alpha-lispregs.h
+++ b/src/lisp/alpha-lispregs.h
@@ -1,4 +1,10 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alpha-lispregs.h,v 1.4 2005/01/13 19:55:00 fgilham Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
+
#ifndef _ALPHA_LISPREGS_H_
#define _ALPHA_LISPREGS_H_
diff --git a/src/lisp/alpha-validate.h b/src/lisp/alpha-validate.h
index 6e7206c..65dac94 100644
--- a/src/lisp/alpha-validate.h
+++ b/src/lisp/alpha-validate.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alpha-validate.h,v 1.4 2005/01/13 19:55:00 fgilham Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/amd64-arch.c b/src/lisp/amd64-arch.c
index 95a6c95..a6aa496 100644
--- a/src/lisp/amd64-arch.c
+++ b/src/lisp/amd64-arch.c
@@ -1,6 +1,5 @@
/* x86-arch.c -*- Mode: C; comment-column: 40 -*-
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/amd64-arch.c,v 1.11 2009/11/02 15:05:07 rtoy Rel $
*
*/
diff --git a/src/lisp/amd64-lispregs.h b/src/lisp/amd64-lispregs.h
index aa5c67a..16de1da 100644
--- a/src/lisp/amd64-lispregs.h
+++ b/src/lisp/amd64-lispregs.h
@@ -1,5 +1,5 @@
/* x86-lispregs.h -*- Mode: C; -*-
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/amd64-lispregs.h,v 1.6 2009/11/02 15:05:07 rtoy Rel $
+
*/
/* These register names and offsets correspond to definitions
diff --git a/src/lisp/arch.h b/src/lisp/arch.h
index 3c6dd9f..66ab511 100644
--- a/src/lisp/arch.h
+++ b/src/lisp/arch.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/arch.h,v 1.10 2008/11/12 15:04:24 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/backtrace.c b/src/lisp/backtrace.c
index cb9cd8c..871b692 100644
--- a/src/lisp/backtrace.c
+++ b/src/lisp/backtrace.c
@@ -1,5 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/backtrace.c,v 1.21 2010/02/01 19:27:07 rtoy Rel $
- *
+/*
* Simple backtrace facility. More or less from Rob's lisp version.
*/
diff --git a/src/lisp/breakpoint.c b/src/lisp/breakpoint.c
index bd9025d..b9c56fb 100644
--- a/src/lisp/breakpoint.c
+++ b/src/lisp/breakpoint.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/breakpoint.c,v 1.26 2008/09/12 21:09:07 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/breakpoint.h b/src/lisp/breakpoint.h
index c8b8574..a2113ab 100644
--- a/src/lisp/breakpoint.h
+++ b/src/lisp/breakpoint.h
@@ -1,6 +1,9 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/breakpoint.h,v 1.4 2005/09/15 18:26:51 rtoy Rel $
- */
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _BREAKPOINT_H_
#define _BREAKPOINT_H_
diff --git a/src/lisp/cgc.c b/src/lisp/cgc.c
index 2bf5647..1d4ceaa 100644
--- a/src/lisp/cgc.c
+++ b/src/lisp/cgc.c
@@ -1,5 +1,4 @@
/* cgc.c -*- Mode: C; comment-column: 40; -*-
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/cgc.c,v 1.14 2008/03/19 09:17:10 cshapiro Rel $
*
* Conservative Garbage Collector for CMUCL x86.
*
diff --git a/src/lisp/core.h b/src/lisp/core.h
index a2375d5..dcc2b39 100644
--- a/src/lisp/core.h
+++ b/src/lisp/core.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/core.h,v 1.9 2009/01/20 03:58:11 agoncharov Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _CORE_H_
#define _CORE_H_
diff --git a/src/lisp/coreparse.c b/src/lisp/coreparse.c
index bdba500..d9b5006 100644
--- a/src/lisp/coreparse.c
+++ b/src/lisp/coreparse.c
@@ -1,4 +1,10 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/coreparse.c,v 1.14 2009/01/20 03:58:11 agoncharov Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
+
#include <stdio.h>
#include <sys/types.h>
#include <sys/file.h>
diff --git a/src/lisp/dynbind.c b/src/lisp/dynbind.c
index 76158b2..60f192b 100644
--- a/src/lisp/dynbind.c
+++ b/src/lisp/dynbind.c
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/dynbind.c,v 1.4 2005/09/15 18:26:51 rtoy Rel $
- *
* Support for dynamic binding from C.
*/
diff --git a/src/lisp/dynbind.h b/src/lisp/dynbind.h
index 67aefb8..b518b4e 100644
--- a/src/lisp/dynbind.h
+++ b/src/lisp/dynbind.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/dynbind.h,v 1.3 2005/09/15 18:26:51 rtoy Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _DYNBIND_H_
#define _DYNBIND_H_
diff --git a/src/lisp/exec-final.c b/src/lisp/exec-final.c
index a446964..9501047 100644
--- a/src/lisp/exec-final.c
+++ b/src/lisp/exec-final.c
@@ -1,8 +1,6 @@
/*
* Variables for executable support.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/exec-final.c,v 1.1 2010/07/29 01:51:12 rtoy Rel $
- *
*/
/*
diff --git a/src/lisp/exec-init.c b/src/lisp/exec-init.c
index a5cf340..8a3cc14 100644
--- a/src/lisp/exec-init.c
+++ b/src/lisp/exec-init.c
@@ -1,8 +1,6 @@
/*
* Variables for executable support.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/exec-init.c,v 1.2 2010/07/20 23:34:09 rtoy Rel $
- *
*/
/* See lisp.c for documentation */
diff --git a/src/lisp/gc.c b/src/lisp/gc.c
index b4879cc..dc75e15 100644
--- a/src/lisp/gc.c
+++ b/src/lisp/gc.c
@@ -1,8 +1,6 @@
/*
* Stop and Copy GC based on Cheney's algorithm.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gc.c,v 1.26 2007/01/01 11:53:03 cshapiro Rel $
- *
* Written by Christopher Hoover.
*/
diff --git a/src/lisp/gc.h b/src/lisp/gc.h
index 33ac1f3..35c3974 100644
--- a/src/lisp/gc.h
+++ b/src/lisp/gc.h
@@ -1,7 +1,6 @@
/*
* Header file for GC
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gc.h,v 1.4 2005/09/15 18:26:51 rtoy Rel $
*/
#ifndef _GC_H_
diff --git a/src/lisp/gencgc.c b/src/lisp/gencgc.c
index 905f551..c2129e2 100644
--- a/src/lisp/gencgc.c
+++ b/src/lisp/gencgc.c
@@ -7,8 +7,6 @@
*
* Douglas Crosher, 1996, 1997, 1998, 1999.
*
- * $Header: /project/cmucl/cvsroot/src/lisp/gencgc.c,v 1.112 2011-01-09 00:12:36 rtoy Exp $
- *
*/
#include <limits.h>
diff --git a/src/lisp/gencgc.h b/src/lisp/gencgc.h
index 6dabc0c..f5273b5 100644
--- a/src/lisp/gencgc.h
+++ b/src/lisp/gencgc.h
@@ -7,7 +7,6 @@
*
* Douglas Crosher, 1996, 1997.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gencgc.h,v 1.17 2011/01/09 00:12:36 rtoy Exp $
*
*/
diff --git a/src/lisp/globals.c b/src/lisp/globals.c
index 471da1f..18b4556 100644
--- a/src/lisp/globals.c
+++ b/src/lisp/globals.c
@@ -1,5 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/globals.c,v 1.5 2005/09/15 18:26:51 rtoy Rel $ */
+/*
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
/* Variables everybody needs to look at or frob on. */
#include <stdio.h>
diff --git a/src/lisp/globals.h b/src/lisp/globals.h
index bfd8c6d..c382e48 100644
--- a/src/lisp/globals.h
+++ b/src/lisp/globals.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/globals.h,v 1.13 2009/11/02 15:05:07 rtoy Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _GLOBALS_H_
#define _GLOBALS_H_
diff --git a/src/lisp/hppa-arch.c b/src/lisp/hppa-arch.c
index 5a87f4c..73dbc13 100644
--- a/src/lisp/hppa-arch.c
+++ b/src/lisp/hppa-arch.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/hppa-arch.c,v 1.10 2005/09/15 18:26:51 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/hppa-lispregs.h b/src/lisp/hppa-lispregs.h
index d87d907..48fee8f 100644
--- a/src/lisp/hppa-lispregs.h
+++ b/src/lisp/hppa-lispregs.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/hppa-lispregs.h,v 1.3 2005/01/13 19:55:00 fgilham Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _HPPA_LISPREGS_H_
#define _HPPA_LISPREGS_H_
diff --git a/src/lisp/hppa-validate.h b/src/lisp/hppa-validate.h
index be42ded..21993d2 100644
--- a/src/lisp/hppa-validate.h
+++ b/src/lisp/hppa-validate.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/hppa-validate.h,v 1.5 2005/01/13 19:55:00 fgilham Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/hpux-os.c b/src/lisp/hpux-os.c
index 4a614f6..3957566 100644
--- a/src/lisp/hpux-os.c
+++ b/src/lisp/hpux-os.c
@@ -1,5 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/hpux-os.c,v 1.11 2011/09/01 05:18:26 rtoy Exp $
*
* OS-dependent routines. This file (along with os.h) exports an
* OS-independent interface to the operating system VM facilities.
diff --git a/src/lisp/hpux-os.h b/src/lisp/hpux-os.h
index e2033ce..39db864 100644
--- a/src/lisp/hpux-os.h
+++ b/src/lisp/hpux-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/hpux-os.h,v 1.3 2005/01/13 19:55:00 fgilham Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/interr.c b/src/lisp/interr.c
index a203d57..5b43b6a 100644
--- a/src/lisp/interr.c
+++ b/src/lisp/interr.c
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interr.c,v 1.10 2009/06/11 16:04:01 rtoy Rel $
- *
* Stuff to handle internal errors.
*
*/
diff --git a/src/lisp/interr.h b/src/lisp/interr.h
index a9d8275..29f4eb7 100644
--- a/src/lisp/interr.h
+++ b/src/lisp/interr.h
@@ -1,6 +1,9 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interr.h,v 1.4 2005/09/15 18:26:51 rtoy Rel $
- */
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _INTERR_H_
#define _INTERR_H_
diff --git a/src/lisp/interrupt.c b/src/lisp/interrupt.c
index 25fb2f6..0bbff65 100644
--- a/src/lisp/interrupt.c
+++ b/src/lisp/interrupt.c
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.c,v 1.60 2009/11/02 15:05:07 rtoy Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
/* Interrupt handling magic. */
diff --git a/src/lisp/interrupt.h b/src/lisp/interrupt.h
index ecd7565..7889233 100644
--- a/src/lisp/interrupt.h
+++ b/src/lisp/interrupt.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.h,v 1.11 2007/01/01 11:53:03 cshapiro Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _INTERRUPT_H_
#define _INTERRUPT_H_
diff --git a/src/lisp/irix-os.c b/src/lisp/irix-os.c
index 97d6a05..ededc66 100644
--- a/src/lisp/irix-os.c
+++ b/src/lisp/irix-os.c
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/irix-os.c,v 1.7 2011/09/01 05:18:26 rtoy Exp $
- *
* OS-dependent routines. This file (along with os.h) exports an
* OS-independent interface to the operating system VM facilities.
* Suprisingly, this interface looks a lot like the Mach interface
diff --git a/src/lisp/irix-os.h b/src/lisp/irix-os.h
index 490458f..6402698 100644
--- a/src/lisp/irix-os.h
+++ b/src/lisp/irix-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/irix-os.h,v 1.4 2005/01/13 19:55:00 fgilham Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/lisp.c b/src/lisp/lisp.c
index 4a1ed35..7b08fd1 100644
--- a/src/lisp/lisp.c
+++ b/src/lisp/lisp.c
@@ -1,8 +1,6 @@
/*
* main() entry point for a stand alone lisp image.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lisp.c,v 1.84 2011/09/01 05:18:26 rtoy Exp $
- *
*/
#include <stdio.h>
diff --git a/src/lisp/lisp.h b/src/lisp/lisp.h
index 9b48af7..70a2c7d 100644
--- a/src/lisp/lisp.h
+++ b/src/lisp/lisp.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lisp.h,v 1.12 2010/10/10 14:54:52 rtoy Exp $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _LISP_H_
#define _LISP_H_
diff --git a/src/lisp/lispregs.h b/src/lisp/lispregs.h
index 1f9633a..be85680 100644
--- a/src/lisp/lispregs.h
+++ b/src/lisp/lispregs.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lispregs.h,v 1.8 2005/01/13 19:55:00 fgilham Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _LISPREGS_H_
#define _LISPREGS_H_
diff --git a/src/lisp/mach-o.c b/src/lisp/mach-o.c
index 441358e..b7ab848 100644
--- a/src/lisp/mach-o.c
+++ b/src/lisp/mach-o.c
@@ -1,5 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/mach-o.c,v 1.7 2010/08/02 21:59:43 rtoy Rel $
*
* This code was written by Raymond Toy as part of CMU Common Lisp and
* has been placed in the public domain.
diff --git a/src/lisp/mach-os.c b/src/lisp/mach-os.c
index 0b08cdc..5620430 100644
--- a/src/lisp/mach-os.c
+++ b/src/lisp/mach-os.c
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/mach-os.c,v 1.9 2011/09/01 05:18:26 rtoy Exp $
- *
* OS-dependent routines. This file (along with os.h) exports an
* OS-independent interface to the operating system VM facilities.
* Suprisingly, this interface looks a lot like the Mach interface
diff --git a/src/lisp/mach-os.h b/src/lisp/mach-os.h
index e11825c..d24b1ad 100644
--- a/src/lisp/mach-os.h
+++ b/src/lisp/mach-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/mach-os.h,v 1.3 2005/01/13 19:55:00 fgilham Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/mips-arch.c b/src/lisp/mips-arch.c
index 003d252..6f324e1 100644
--- a/src/lisp/mips-arch.c
+++ b/src/lisp/mips-arch.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/mips-arch.c,v 1.12 2008/03/19 09:17:13 cshapiro Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/mips-lispregs.h b/src/lisp/mips-lispregs.h
index cb89b5e..2109a9c 100644
--- a/src/lisp/mips-lispregs.h
+++ b/src/lisp/mips-lispregs.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/mips-lispregs.h,v 1.2 2005/01/13 19:55:00 fgilham Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _MIPS_LISPREGS_H_
#define _MIPS_LISPREGS_H_
diff --git a/src/lisp/mips-validate.h b/src/lisp/mips-validate.h
index 8eff0d0..7cd1918 100644
--- a/src/lisp/mips-validate.h
+++ b/src/lisp/mips-validate.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/mips-validate.h,v 1.4 2005/01/13 19:55:00 fgilham Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/monitor.c b/src/lisp/monitor.c
index 64e44f5..8d3bd35 100644
--- a/src/lisp/monitor.c
+++ b/src/lisp/monitor.c
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/monitor.c,v 1.22 2010/01/26 18:54:18 rtoy Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#include <stdio.h>
#include <sys/types.h>
diff --git a/src/lisp/monitor.h b/src/lisp/monitor.h
index 3670ebe..e93f0a7 100644
--- a/src/lisp/monitor.h
+++ b/src/lisp/monitor.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/monitor.h,v 1.2 2005/01/13 19:55:00 fgilham Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _MONITOR_H_
#define _MONITOR_H_
diff --git a/src/lisp/os-common.c b/src/lisp/os-common.c
index 9ea6f46..2ba4bfd 100755
--- a/src/lisp/os-common.c
+++ b/src/lisp/os-common.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os-common.c,v 1.33 2010/12/22 02:12:52 rtoy Exp $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/os.h b/src/lisp/os.h
index 5d43446..daba404 100644
--- a/src/lisp/os.h
+++ b/src/lisp/os.h
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os.h,v 1.28 2011/09/01 05:18:26 rtoy Exp $
- *
* Common interface for os-dependent functions.
*
*/
diff --git a/src/lisp/osf1-os.c b/src/lisp/osf1-os.c
index af10b8e..eea1ce4 100644
--- a/src/lisp/osf1-os.c
+++ b/src/lisp/osf1-os.c
@@ -1,5 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/osf1-os.c,v 1.7 2011/09/01 05:18:26 rtoy Exp $
*
* OS-dependent routines. This file (along with os.h) exports an
* OS-independent interface to the operating system VM facilities.
diff --git a/src/lisp/osf1-os.h b/src/lisp/osf1-os.h
index 2fdf0ed..2d18a16 100644
--- a/src/lisp/osf1-os.h
+++ b/src/lisp/osf1-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/osf1-os.h,v 1.3 2005/01/13 19:55:00 fgilham Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/parse.c b/src/lisp/parse.c
index 7fbaec0..505ad07 100644
--- a/src/lisp/parse.c
+++ b/src/lisp/parse.c
@@ -1,4 +1,10 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/parse.c,v 1.12 2008/03/19 09:17:13 cshapiro Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
+
#include <stdio.h>
#include <ctype.h>
#include <signal.h>
diff --git a/src/lisp/parse.h b/src/lisp/parse.h
index 452a53f..c3ff61e 100644
--- a/src/lisp/parse.h
+++ b/src/lisp/parse.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/parse.h,v 1.2 2005/01/13 19:55:00 fgilham Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _PARSE_H_
#define _PARSE_H_
diff --git a/src/lisp/ppc-arch.c b/src/lisp/ppc-arch.c
index bda9499..6c2ef6b 100644
--- a/src/lisp/ppc-arch.c
+++ b/src/lisp/ppc-arch.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/ppc-arch.c,v 1.14 2008/11/12 15:04:24 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/ppc-validate.h b/src/lisp/ppc-validate.h
index 444e2aa..40530f7 100644
--- a/src/lisp/ppc-validate.h
+++ b/src/lisp/ppc-validate.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/ppc-validate.h,v 1.9 2006/11/30 02:34:24 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/print.c b/src/lisp/print.c
index f8a9086..34aa0ce 100644
--- a/src/lisp/print.c
+++ b/src/lisp/print.c
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/print.c,v 1.30 2010/10/22 04:07:33 rtoy Exp $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#include <stdio.h>
#include <string.h>
diff --git a/src/lisp/print.h b/src/lisp/print.h
index 8347aca..79a7cf9 100644
--- a/src/lisp/print.h
+++ b/src/lisp/print.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/print.h,v 1.2 2005/01/13 19:55:00 fgilham Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _PRINT_H_
#define _PRINT_H_
diff --git a/src/lisp/purify.c b/src/lisp/purify.c
index a80e07c..c9a1bb7 100644
--- a/src/lisp/purify.c
+++ b/src/lisp/purify.c
@@ -10,8 +10,6 @@
and x86/GENCGC stack scavenging, by Douglas Crosher, 1996, 1997,
1998.
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/purify.c,v 1.43 2009/06/11 16:04:01 rtoy Rel $
-
*/
#include <stdio.h>
#include <sys/types.h>
diff --git a/src/lisp/purify.h b/src/lisp/purify.h
index 5240d58..78c472a 100644
--- a/src/lisp/purify.h
+++ b/src/lisp/purify.h
@@ -1,6 +1,9 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/purify.h,v 1.2 2005/01/13 19:55:00 fgilham Rel $
- */
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _PURIFY_H_
#define _PURIFY_H_
diff --git a/src/lisp/regnames.c b/src/lisp/regnames.c
index b88ca36..5d43253 100644
--- a/src/lisp/regnames.c
+++ b/src/lisp/regnames.c
@@ -1,4 +1,10 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/regnames.c,v 1.1 1992/07/28 20:15:27 wlott Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
+
#include "lispregs.h"
diff --git a/src/lisp/runprog.c b/src/lisp/runprog.c
index ad5d00c..4832ff8 100644
--- a/src/lisp/runprog.c
+++ b/src/lisp/runprog.c
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/runprog.c,v 1.7 2005/09/15 18:26:52 rtoy Rel $
- *
* Support for run-program.
*
*/
diff --git a/src/lisp/save.c b/src/lisp/save.c
index f6fb4bd..27b03ea 100644
--- a/src/lisp/save.c
+++ b/src/lisp/save.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/save.c,v 1.29 2010/09/24 04:08:39 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/save.h b/src/lisp/save.h
index 1f10ace..eaeed21 100644
--- a/src/lisp/save.h
+++ b/src/lisp/save.h
@@ -1,6 +1,9 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/save.h,v 1.4 2008/12/10 16:16:11 rtoy Rel $
- */
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _SAVE_H_
#define _SAVE_H_
diff --git a/src/lisp/search.c b/src/lisp/search.c
index a97c756..234207e 100644
--- a/src/lisp/search.c
+++ b/src/lisp/search.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/search.c,v 1.4 2005/09/15 18:26:52 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/search.h b/src/lisp/search.h
index e67b89a..9393f2c 100644
--- a/src/lisp/search.h
+++ b/src/lisp/search.h
@@ -1,6 +1,9 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/search.h,v 1.2 2005/09/15 18:26:52 rtoy Rel $
- */
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _SEARCH_H_
#define _SEARCH_H_
diff --git a/src/lisp/solaris-os.c b/src/lisp/solaris-os.c
index b0dfc4c..b28c3cc 100644
--- a/src/lisp/solaris-os.c
+++ b/src/lisp/solaris-os.c
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/solaris-os.c,v 1.30 2011/09/01 05:18:26 rtoy Exp $
- *
* OS-dependent routines. This file (along with os.h) exports an
* OS-independent interface to the operating system VM facilities.
* Suprisingly, this interface looks a lot like the Mach interface
diff --git a/src/lisp/sparc-arch.c b/src/lisp/sparc-arch.c
index 5027179..761a794 100644
--- a/src/lisp/sparc-arch.c
+++ b/src/lisp/sparc-arch.c
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/sparc-arch.c,v 1.30 2008/11/12 15:04:24 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/sparc-lispregs.h b/src/lisp/sparc-lispregs.h
index e74547a..67a81e3 100644
--- a/src/lisp/sparc-lispregs.h
+++ b/src/lisp/sparc-lispregs.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/sparc-lispregs.h,v 1.10 2005/09/15 18:26:52 rtoy Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _SPARC_LISPREGS_H_
#define _SPARC_LISPREGS_H_
diff --git a/src/lisp/sparc-validate.h b/src/lisp/sparc-validate.h
index 7ef7af4..0a6a6ce 100644
--- a/src/lisp/sparc-validate.h
+++ b/src/lisp/sparc-validate.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/sparc-validate.h,v 1.21 2005/09/15 18:26:52 rtoy Rel $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/sunos-os.c b/src/lisp/sunos-os.c
index ccbabd8..d9b47fd 100644
--- a/src/lisp/sunos-os.c
+++ b/src/lisp/sunos-os.c
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/sunos-os.c,v 1.13 2011/09/01 05:18:26 rtoy Exp $
- *
* OS-dependent routines. This file (along with os.h) exports an
* OS-independent interface to the operating system VM facilities.
* Suprisingly, this interface looks a lot like the Mach interface
diff --git a/src/lisp/sunos-os.h b/src/lisp/sunos-os.h
index 4f59a1a..4cb2904 100644
--- a/src/lisp/sunos-os.h
+++ b/src/lisp/sunos-os.h
@@ -1,7 +1,5 @@
/*
- $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/sunos-os.h,v 1.14 2010/12/22 02:12:52 rtoy Exp $
-
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
diff --git a/src/lisp/time.c b/src/lisp/time.c
index 4af9b16..51ef62e 100644
--- a/src/lisp/time.c
+++ b/src/lisp/time.c
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/time.c,v 1.3 2005/09/15 18:26:52 rtoy Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
/* Time support routines that are easier to do in C then in lisp. */
diff --git a/src/lisp/undefineds.c b/src/lisp/undefineds.c
index b4d7002..e78e0cb 100644
--- a/src/lisp/undefineds.c
+++ b/src/lisp/undefineds.c
@@ -1,5 +1,10 @@
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
/* Routines that must be linked into the core for lisp to work. */
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/undefineds.c,v 1.7 2005/09/15 18:26:53 rtoy Rel $ */
#ifdef sun
#ifndef MACH
diff --git a/src/lisp/undefineds.h b/src/lisp/undefineds.h
index 6d47eda..017da61 100644
--- a/src/lisp/undefineds.h
+++ b/src/lisp/undefineds.h
@@ -1,5 +1,4 @@
/* Routines that must be linked into the core for lisp to work. */
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/undefineds.h,v 1.41 2008/10/07 20:32:03 rtoy Rel $ */
/*
* Do not wrap this inside an #ifndef/#endif!
diff --git a/src/lisp/validate.c b/src/lisp/validate.c
index efe7273..7872a12 100644
--- a/src/lisp/validate.c
+++ b/src/lisp/validate.c
@@ -1,6 +1,4 @@
/*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/validate.c,v 1.25 2007/07/09 16:04:12 fgilham Rel $
- *
* Memory Validation
*/
diff --git a/src/lisp/validate.h b/src/lisp/validate.h
index 1cb91ae..784258e 100644
--- a/src/lisp/validate.h
+++ b/src/lisp/validate.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/validate.h,v 1.6 2005/01/13 19:55:01 fgilham Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _VALIDATE_H_
#define _VALIDATE_H_
diff --git a/src/lisp/vars.c b/src/lisp/vars.c
index 379a886..6ce216a 100644
--- a/src/lisp/vars.c
+++ b/src/lisp/vars.c
@@ -1,4 +1,10 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/vars.c,v 1.7 2008/03/19 09:17:13 cshapiro Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
+
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
diff --git a/src/lisp/vars.h b/src/lisp/vars.h
index 73898c4..cbe5934 100644
--- a/src/lisp/vars.h
+++ b/src/lisp/vars.h
@@ -1,4 +1,9 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/vars.h,v 1.3 2005/09/15 18:26:53 rtoy Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _VARS_H_
#define _VARS_H_
diff --git a/src/lisp/version.c b/src/lisp/version.c
index e0f531b..229f965 100644
--- a/src/lisp/version.c
+++ b/src/lisp/version.c
@@ -1,2 +1,8 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/version.c,v 1.1 1992/07/28 20:15:40 wlott Rel $ */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
+
int version = VERSION;
diff --git a/src/lisp/x86-arch.c b/src/lisp/x86-arch.c
index ee38f92..5670334 100644
--- a/src/lisp/x86-arch.c
+++ b/src/lisp/x86-arch.c
@@ -1,8 +1,9 @@
-/* x86-arch.c -*- Mode: C; comment-column: 40 -*-
- *
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-arch.c,v 1.43 2010/12/26 16:04:43 rswindells Exp $
- *
- */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#include <stdio.h>
#include <stdlib.h>
diff --git a/src/lisp/x86-lispregs.h b/src/lisp/x86-lispregs.h
index 3574f27..aa9608f 100644
--- a/src/lisp/x86-lispregs.h
+++ b/src/lisp/x86-lispregs.h
@@ -1,6 +1,9 @@
-/* x86-lispregs.h -*- Mode: C; -*-
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-lispregs.h,v 1.16 2010/12/24 06:01:34 rtoy Exp $
- */
+/*
+
+ This code was written as part of the CMU Common Lisp project at
+ Carnegie Mellon University, and has been placed in the public domain.
+
+*/
#ifndef _X86_LISPREGS_H_
#define _X86_LISPREGS_H_
diff --git a/src/lisp/x86-validate.h b/src/lisp/x86-validate.h
index c49ea50..5580401 100644
--- a/src/lisp/x86-validate.h
+++ b/src/lisp/x86-validate.h
@@ -3,8 +3,6 @@
* This code was written as part of the CMU Common Lisp project at
* Carnegie Mellon University, and has been placed in the public domain.
*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-validate.h,v 1.34 2010/12/22 05:55:22 rtoy Exp $
- *
*/
#ifndef _X86_VALIDATE_H_
-----------------------------------------------------------------------
Summary of changes:
src/general-info/release-20d.txt | 9 +++--
src/lisp/Darwin-os.c | 2 -
src/lisp/Darwin-os.h | 2 -
src/lisp/FreeBSD-os.c | 2 -
src/lisp/FreeBSD-os.h | 2 -
src/lisp/Linux-os.c | 2 -
src/lisp/Linux-os.h | 2 +-
src/lisp/NetBSD-os.c | 1 -
src/lisp/NetBSD-os.h | 2 -
src/lisp/OpenBSD-os.c | 2 -
src/lisp/OpenBSD-os.h | 2 -
src/lisp/alloc.c | 7 +++-
src/lisp/alloc.h | 7 +++-
src/lisp/alpha-arch.c | 2 -
src/lisp/alpha-lispregs.h | 8 ++++-
src/lisp/alpha-validate.h | 2 -
src/lisp/amd64-arch.c | 1 -
src/lisp/amd64-lispregs.h | 2 +-
src/lisp/arch.h | 2 -
src/lisp/backtrace.c | 3 +-
src/lisp/breakpoint.c | 2 -
src/lisp/breakpoint.h | 7 +++-
src/lisp/cgc.c | 1 -
src/lisp/core.h | 7 +++-
src/lisp/coreparse.c | 8 ++++-
src/lisp/dynbind.c | 2 -
src/lisp/dynbind.h | 7 +++-
src/lisp/exec-final.c | 2 -
src/lisp/exec-init.c | 2 -
src/lisp/gc.c | 2 -
src/lisp/gc.h | 1 -
src/lisp/gencgc.c | 2 -
src/lisp/gencgc.h | 1 -
src/lisp/globals.c | 6 +++-
src/lisp/globals.h | 7 +++-
src/lisp/hppa-arch.c | 2 -
src/lisp/hppa-lispregs.h | 7 +++-
src/lisp/hppa-validate.h | 2 -
src/lisp/hpux-os.c | 1 -
src/lisp/hpux-os.h | 2 -
src/lisp/interr.c | 2 -
src/lisp/interr.h | 7 +++-
src/lisp/interrupt.c | 7 +++-
src/lisp/interrupt.h | 7 +++-
src/lisp/irix-os.c | 2 -
src/lisp/irix-os.h | 2 -
src/lisp/lisp.c | 2 -
src/lisp/lisp.h | 7 +++-
src/lisp/lispregs.h | 7 +++-
src/lisp/mach-o.c | 1 -
src/lisp/mach-os.c | 2 -
src/lisp/mach-os.h | 2 -
src/lisp/mips-arch.c | 2 -
src/lisp/mips-lispregs.h | 7 +++-
src/lisp/mips-validate.h | 2 -
src/lisp/monitor.c | 7 +++-
src/lisp/monitor.h | 7 +++-
src/lisp/os-common.c | 2 -
src/lisp/os.h | 2 -
src/lisp/osf1-os.c | 1 -
src/lisp/osf1-os.h | 2 -
src/lisp/parse.c | 8 ++++-
src/lisp/parse.h | 7 +++-
src/lisp/ppc-arch.c | 2 -
src/lisp/ppc-validate.h | 2 -
src/lisp/print.c | 7 +++-
src/lisp/print.h | 7 +++-
src/lisp/purify.c | 2 -
src/lisp/purify.h | 7 +++-
src/lisp/regnames.c | 8 ++++-
src/lisp/runprog.c | 2 -
src/lisp/save.c | 2 -
src/lisp/save.h | 7 +++-
src/lisp/search.c | 2 -
src/lisp/search.h | 7 +++-
src/lisp/solaris-os.c | 2 -
src/lisp/sparc-arch.c | 2 -
src/lisp/sparc-lispregs.h | 7 +++-
src/lisp/sparc-validate.h | 2 -
src/lisp/sunos-os.c | 2 -
src/lisp/sunos-os.h | 2 -
src/lisp/time.c | 7 +++-
src/lisp/undefineds.c | 7 +++-
src/lisp/undefineds.h | 1 -
src/lisp/validate.c | 2 -
src/lisp/validate.h | 7 +++-
src/lisp/vars.c | 8 ++++-
src/lisp/vars.h | 7 +++-
src/lisp/version.c | 8 ++++-
src/lisp/x86-arch.c | 11 +++---
src/lisp/x86-lispregs.h | 9 +++--
src/lisp/x86-validate-darwin.h | 56 +++++++++++++++++++++++++++++++++
src/lisp/x86-validate-linux.h | 64 ++++++++++++++++++++++++++++++++++++++
src/lisp/x86-validate-solaris.h | 60 +++++++++++++++++++++++++++++++++++
src/lisp/x86-validate.h | 63 ++++++------------------------------
95 files changed, 409 insertions(+), 201 deletions(-)
create mode 100644 src/lisp/x86-validate-darwin.h
create mode 100644 src/lisp/x86-validate-linux.h
create mode 100644 src/lisp/x86-validate-solaris.h
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-08-10-gb6f29d0
by Raymond Toy 28 Aug '12
by Raymond Toy 28 Aug '12
28 Aug '12
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 b6f29d0ea8a591fde0cd7fdc623bfe8959d87a75 (commit)
from ff569406a77867b99256fc829d233478334aaf46 (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 b6f29d0ea8a591fde0cd7fdc623bfe8959d87a75
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Mon Aug 27 23:00:23 2012 -0700
Update to asdf 2.24.
diff --git a/src/contrib/asdf/asdf.lisp b/src/contrib/asdf/asdf.lisp
index 263bb5e..a97632d 100644
--- a/src/contrib/asdf/asdf.lisp
+++ b/src/contrib/asdf/asdf.lisp
@@ -1,5 +1,5 @@
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.23: Another System Definition Facility.
+;;; This is ASDF 2.24: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel(a)common-lisp.net>.
@@ -50,7 +50,7 @@
(cl:in-package :common-lisp-user)
#+genera (in-package :future-common-lisp-user)
-#-(or abcl allegro clisp clozure cmu cormanlisp ecl gcl genera lispworks mcl sbcl scl xcl)
+#-(or abcl allegro clisp clozure cmu cormanlisp ecl gcl genera lispworks mcl mkcl sbcl scl xcl)
(error "ASDF is not supported on your implementation. Please help us port it.")
;;;; Create and setup packages in a way that is compatible with hot-upgrade.
@@ -71,8 +71,8 @@
(and (= system::*gcl-major-version* 2)
(< system::*gcl-minor-version* 7)))
(pushnew :gcl-pre2.7 *features*))
- #+(or abcl (and allegro ics) (and clisp unicode) clozure (and cmu unicode)
- (and ecl unicode) lispworks (and sbcl sb-unicode) scl)
+ #+(or abcl (and allegro ics) (and (or clisp cmu ecl mkcl) unicode)
+ clozure lispworks (and sbcl sb-unicode) scl)
(pushnew :asdf-unicode *features*)
;;; make package if it doesn't exist yet.
;;; DEFPACKAGE may cause errors on discrepancies, so we avoid it.
@@ -86,6 +86,8 @@
;;; except that the defun has to be in package asdf.
#+ecl (defun use-ecl-byte-compiler-p () (and (member :ecl-bytecmp *features*) t))
#+ecl (unless (use-ecl-byte-compiler-p) (require :cmp))
+ #+mkcl (require :cmp)
+ #+mkcl (setq clos::*redefine-class-in-place* t) ;; Make sure we have strict ANSI class redefinition semantics
;;; Package setup, step 2.
(defvar *asdf-version* nil)
@@ -116,7 +118,7 @@
;; "2.345.6" would be a development version in the official upstream
;; "2.345.0.7" would be your seventh local modification of official release 2.345
;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
- (asdf-version "2.23")
+ (asdf-version "2.24")
(existing-asdf (find-class 'component nil))
(existing-version *asdf-version*)
(already-there (equal asdf-version existing-version)))
@@ -303,7 +305,7 @@
#:*compile-file-warnings-behaviour*
#:*compile-file-failure-behaviour*
#:*resolve-symlinks*
- #:*require-asdf-operator*
+ #:*load-system-operation*
#:*asdf-verbose*
#:*verbose-out*
@@ -367,11 +369,11 @@
#:appendf #:orf
#:length=n-p
#:remove-keys #:remove-keyword
- #:first-char #:last-char #:ends-with
+ #:first-char #:last-char #:string-suffix-p
#:coerce-name
#:directory-pathname-p #:ensure-directory-pathname
#:absolute-pathname-p #:ensure-pathname-absolute #:pathname-root
- #:getenv #:getenv-pathname #:getenv-pathname
+ #:getenv #:getenv-pathname #:getenv-pathnames
#:getenv-absolute-directory #:getenv-absolute-directories
#:probe-file*
#:find-symbol* #:strcat
@@ -419,6 +421,16 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when
(defparameter +asdf-methods+
'(perform-with-restarts perform explain output-files operation-done-p))
+(defvar *load-system-operation* 'load-op
+ "Operation used by ASDF:LOAD-SYSTEM. By default, ASDF:LOAD-OP.
+You may override it with e.g. ASDF:LOAD-FASL-OP from asdf-bundle,
+or ASDF:LOAD-SOURCE-OP if your fasl loading is somehow broken.")
+
+(defvar *compile-op-compile-file-function* 'compile-file*
+ "Function used to compile lisp files.")
+
+
+
#+allegro
(eval-when (:compile-toplevel :execute)
(defparameter *acl-warn-save*
@@ -659,7 +671,7 @@ starting the separation from the end, e.g. when called with arguments
;; Giving :unspecific as argument to make-pathname is not portable.
;; See CLHS make-pathname and 19.2.2.2.3.
;; We only use it on implementations that support it,
- #+(or abcl allegro clozure cmu gcl genera lispworks sbcl scl xcl) :unspecific
+ #+(or abcl allegro clozure cmu gcl genera lispworks mkcl sbcl scl xcl) :unspecific
#+(or clisp ecl #|These haven't been tested:|# cormanlisp mcl) nil))
(destructuring-bind (name &optional (type unspecific))
(split-string filename :max 2 :separator ".")
@@ -741,8 +753,9 @@ pathnames."
(let ((value (_getenv name)))
(unless (ccl:%null-ptr-p value)
(ccl:%get-cstring value))))
+ #+mkcl (#.(or (find-symbol* 'getenv :si) (find-symbol* 'getenv :mk-ext)) x)
#+sbcl (sb-ext:posix-getenv x)
- #-(or abcl allegro clisp clozure cmu cormanlisp ecl gcl genera lispworks mcl sbcl scl xcl)
+ #-(or abcl allegro clisp clozure cmu cormanlisp ecl gcl genera lispworks mcl mkcl sbcl scl xcl)
(error "~S is not supported on your implementation" 'getenv))
(defun* directory-pathname-p (pathname)
@@ -849,7 +862,7 @@ Host, device and version components are taken from DEFAULTS."
((zerop i) (return (null l)))
((not (consp l)) (return nil)))))
-(defun* ends-with (s suffix)
+(defun* string-suffix-p (s suffix)
(check-type s string)
(check-type suffix string)
(let ((start (- (length s) (length suffix))))
@@ -877,7 +890,7 @@ with given pathname and if it exists return its truename."
(null nil)
(string (probe-file* (parse-namestring p)))
(pathname (unless (wild-pathname-p p)
- #.(or #+(or allegro clozure cmu cormanlisp ecl lispworks sbcl scl)
+ #.(or #+(or allegro clozure cmu cormanlisp ecl lispworks mkcl sbcl scl)
'(probe-file p)
#+clisp (aif (find-symbol* '#:probe-pathname :ext)
`(ignore-errors (,it p)))
@@ -2450,13 +2463,9 @@ recursive calls to traverse.")
(funcall (ensure-function hook) thunk)
(funcall thunk))))
-(defvar *compile-op-compile-file-function* 'compile-file*
- "Function used to compile lisp files.")
-
;;; perform is required to check output-files to find out where to put
;;; its answers, in case it has been overridden for site policy
(defmethod perform ((operation compile-op) (c cl-source-file))
- #-:broken-fasl-loader
(let ((source-file (component-pathname c))
;; on some implementations, there are more than one output-file,
;; but the first one should always be the primary fasl that gets loaded.
@@ -2489,9 +2498,15 @@ recursive calls to traverse.")
(defmethod output-files ((operation compile-op) (c cl-source-file))
(declare (ignorable operation))
- (let ((p (lispize-pathname (component-pathname c))))
- #-broken-fasl-loader (list (compile-file-pathname p))
- #+broken-fasl-loader (list p)))
+ (let* ((p (lispize-pathname (component-pathname c)))
+ (f (compile-file-pathname ;; fasl
+ p #+mkcl :fasl-p #+mkcl t #+ecl :type #+ecl :fasl))
+ #+mkcl (o (compile-file-pathname p :fasl-p nil))) ;; object file
+ #+ecl (if (use-ecl-byte-compiler-p)
+ (list f)
+ (list (compile-file-pathname p :type :object) f))
+ #+mkcl (list o f)
+ #-(or ecl mkcl) (list f)))
(defmethod perform ((operation compile-op) (c static-file))
(declare (ignorable operation c))
@@ -2532,7 +2547,13 @@ recursive calls to traverse.")
(perform (make-sub-operation c o c 'compile-op) c)))))
(defmethod perform ((o load-op) (c cl-source-file))
- (map () #'load (input-files o c)))
+ (map () #'load
+ #-(or ecl mkcl)
+ (input-files o c)
+ #+(or ecl mkcl)
+ (loop :for i :in (input-files o c)
+ :unless (string= (pathname-type i) "fas")
+ :collect (compile-file-pathname (lispize-pathname i)))))
(defmethod perform ((operation load-op) (c static-file))
(declare (ignorable operation c))
@@ -2736,11 +2757,11 @@ created with the same initargs as the original one.
(setf (documentation 'operate 'function)
operate-docstring))
-(defun* load-system (system &rest args &key force verbose version &allow-other-keys)
+(defun* load-system (system &rest keys &key force verbose version &allow-other-keys)
"Shorthand for `(operate 'asdf:load-op system)`.
See OPERATE for details."
(declare (ignore force verbose version))
- (apply 'operate 'load-op system args)
+ (apply 'operate *load-system-operation* system keys)
t)
(defun* load-systems (&rest systems)
@@ -2752,8 +2773,8 @@ See OPERATE for details."
(defun loaded-systems ()
(remove-if-not 'component-loaded-p (registered-systems)))
-(defun require-system (s)
- (load-system s :force-not (loaded-systems)))
+(defun require-system (s &rest keys &key &allow-other-keys)
+ (apply 'load-system s :force-not (loaded-systems) keys))
(defun* compile-system (system &rest args &key force verbose version
&allow-other-keys)
@@ -3096,6 +3117,17 @@ output to *VERBOSE-OUT*. Returns the shell's exit code."
#+mcl
(ccl::with-cstrs ((%command command)) (_system %command))
+ #+mkcl
+ ;; This has next to no chance of working on basic Windows!
+ ;; Your best hope is that Cygwin or MSYS is somewhere in the PATH.
+ (multiple-value-bind (io process exit-code)
+ (apply #'mkcl:run-program #+windows "sh" #-windows "/bin/sh"
+ (list "-c" command)
+ :input nil :output t #|*verbose-out*|# ;; will be *verbose-out* when we support it
+ #-windows '(:search nil))
+ (declare (ignore io process))
+ exit-code)
+
#+sbcl
(sb-ext:process-exit-code
(apply 'sb-ext:run-program
@@ -3107,7 +3139,7 @@ output to *VERBOSE-OUT*. Returns the shell's exit code."
#+xcl
(ext:run-shell-command command)
- #-(or abcl allegro clisp clozure cmu ecl gcl lispworks mcl sbcl scl xcl)
+ #-(or abcl allegro clisp clozure cmu ecl gcl lispworks mcl mkcl sbcl scl xcl)
(error "RUN-SHELL-COMMAND not implemented for this Lisp")))
#+clisp
@@ -3197,7 +3229,7 @@ located."
(defun implementation-type ()
(first-feature
'(:abcl (:acl :allegro) (:ccl :clozure) :clisp (:corman :cormanlisp) :cmu
- :ecl :gcl (:lw :lispworks) :mcl :sbcl :scl :symbolics :xcl)))
+ :ecl :gcl (:lw :lispworks) :mcl :mkcl :sbcl :scl :symbolics :xcl)))
(defun operating-system ()
(first-feature
@@ -3232,13 +3264,14 @@ located."
(car ; as opposed to OR, this idiom prevents some unreachable code warning
(list
#+allegro
- (format nil "~A~A~@[~A~]"
+ (format nil "~A~@[~A~]~@[~A~]~@[~A~]"
excl::*common-lisp-version-number*
- ;; ANSI vs MoDeRn - thanks to Robert Goldman and Charley Cox
- (if (eq excl:*current-case-mode* :case-sensitive-lower) "M" "A")
+ ;; M means "modern", as opposed to ANSI-compatible mode (which I consider default)
+ (and (eq excl:*current-case-mode* :case-sensitive-lower) "M")
;; Note if not using International ACL
;; see http://www.franz.com/support/documentation/8.1/doc/operators/excl/ics-targe…
- (excl:ics-target-case (:-ics "8")))
+ (excl:ics-target-case (:-ics "8"))
+ (and (member :smp *features*) "S"))
#+armedbear (format nil "~a-fasl~a" s system::*fasl-version*)
#+clisp
(subseq s 0 (position #\space s)) ; strip build information (date, etc.)
@@ -3272,7 +3305,7 @@ located."
(defun* hostname ()
;; Note: untested on RMCL
- #+(or abcl clozure cmucl ecl genera lispworks mcl sbcl scl xcl) (machine-instance)
+ #+(or abcl clozure cmucl ecl genera lispworks mcl mkcl sbcl scl xcl) (machine-instance)
#+cormanlisp "localhost" ;; is there a better way? Does it matter?
#+allegro (excl.osi:gethostname)
#+clisp (first (split-string (machine-instance) :separator " "))
@@ -3304,14 +3337,14 @@ located."
(loop :for dir :in (split-string
x :separator (string (inter-directory-separator)))
:collect (apply 'ensure-pathname* dir want-absolute want-directory fmt args)))
-(defun getenv-pathname (x &key want-absolute want-directory &aux (s (getenv x)))
+(defun* getenv-pathname (x &key want-absolute want-directory &aux (s (getenv x)))
(ensure-pathname* s want-absolute want-directory "from (getenv ~S)" x))
-(defun getenv-pathnames (x &key want-absolute want-directory &aux (s (getenv x)))
+(defun* getenv-pathnames (x &key want-absolute want-directory &aux (s (getenv x)))
(and (plusp (length s))
(split-pathnames* s want-absolute want-directory "from (getenv ~S) = ~S" x s)))
-(defun getenv-absolute-directory (x)
+(defun* getenv-absolute-directory (x)
(getenv-pathname x :want-absolute t :want-directory t))
-(defun getenv-absolute-directories (x)
+(defun* getenv-absolute-directories (x)
(getenv-pathnames x :want-absolute t :want-directory t))
@@ -3698,7 +3731,8 @@ Please remove it from your ASDF configuration"))
#+sbcl ,(let ((h (getenv-pathname "SBCL_HOME" :want-directory t)))
(when h `((,(truenamize h) ,*wild-inferiors*) ())))
;; The below two are not needed: no precompiled ASDF system there
- #+ecl (,(translate-logical-pathname "SYS:**;*.*") ())
+ #+(or ecl mkcl) (,(translate-logical-pathname "SYS:**;*.*") ())
+ #+mkcl (,(translate-logical-pathname "CONTRIB:") ())
;; #+clozure ,(ignore-errors (list (wilden (let ((*default-pathname-defaults* #p"")) (truename #p"ccl:"))) ()))
;; All-import, here is where we want user stuff to be:
:inherit-configuration
@@ -3954,11 +3988,11 @@ call that function where you would otherwise have loaded and configured A-B-L.")
(default-toplevel-directory
(subpathname (user-homedir) ".fasls/")) ;; Use ".cache/common-lisp/" instead ???
(include-per-user-information nil)
- (map-all-source-files (or #+(or ecl clisp) t nil))
+ (map-all-source-files (or #+(or clisp ecl mkcl) t nil))
(source-to-target-mappings nil))
- #+(or ecl clisp)
+ #+(or clisp ecl mkcl)
(when (null map-all-source-files)
- (error "asdf:enable-asdf-binary-locations-compatibility doesn't support :map-all-source-files nil on ECL and CLISP"))
+ (error "asdf:enable-asdf-binary-locations-compatibility doesn't support :map-all-source-files nil on CLISP, ECL and MKCL"))
(let* ((fasl-type (pathname-type (compile-file-pathname "foo.lisp")))
(mapped-files (if map-all-source-files *wild-file*
(make-pathname :type fasl-type :defaults *wild-file*)))
@@ -4161,7 +4195,7 @@ with a different configuration, so the configuration would be re-read then."
string))
(setf inherit t)
(push ':inherit-configuration directives))
- ((ends-with s "//") ;; TODO: allow for doubling of separator even outside Unix?
+ ((string-suffix-p s "//") ;; TODO: allow for doubling of separator even outside Unix?
(push `(:tree ,(check (subseq s 0 (- (length s) 2)))) directives))
(t
(push `(:directory ,(check s)) directives))))
@@ -4192,6 +4226,7 @@ with a different configuration, so the configuration would be re-read then."
(defun* wrapping-source-registry ()
`(:source-registry
+ #+mkcl (:tree ,(translate-logical-pathname "CONTRIB:"))
#+sbcl (:tree ,(truenamize (getenv-pathname "SBCL_HOME" :want-directory t)))
:inherit-configuration
#+cmu (:tree #p"modules:")
@@ -4200,23 +4235,23 @@ with a different configuration, so the configuration would be re-read then."
`(:source-registry
#+sbcl (:directory ,(subpathname (user-homedir) ".sbcl/systems/"))
(:directory ,(default-directory))
- ,@(loop :for dir :in
- `(,@(when (os-unix-p)
- `(,(or (getenv-absolute-directory "XDG_DATA_HOME")
- (subpathname (user-homedir) ".local/share/"))
- ,@(or (getenv-absolute-directories "XDG_DATA_DIRS")
- '("/usr/local/share" "/usr/share"))))
- ,@(when (os-windows-p)
- `(,(or #+lispworks (sys:get-folder-path :local-appdata)
- (getenv-absolute-directory "LOCALAPPDATA"))
- ,(or #+lispworks (sys:get-folder-path :appdata)
- (getenv-absolute-directory "APPDATA"))
- ,(or #+lispworks (sys:get-folder-path :common-appdata)
- (getenv-absolute-directory "ALLUSERSAPPDATA")
- (subpathname* (getenv-absolute-directory "ALLUSERSPROFILE") "Application Data/")))))
- :collect `(:directory ,(subpathname* dir "common-lisp/systems/"))
- :collect `(:tree ,(subpathname* dir "common-lisp/source/")))
- :inherit-configuration))
+ ,@(loop :for dir :in
+ `(,@(when (os-unix-p)
+ `(,(or (getenv-absolute-directory "XDG_DATA_HOME")
+ (subpathname (user-homedir) ".local/share/"))
+ ,@(or (getenv-absolute-directories "XDG_DATA_DIRS")
+ '("/usr/local/share" "/usr/share"))))
+ ,@(when (os-windows-p)
+ `(,(or #+lispworks (sys:get-folder-path :local-appdata)
+ (getenv-absolute-directory "LOCALAPPDATA"))
+ ,(or #+lispworks (sys:get-folder-path :appdata)
+ (getenv-absolute-directory "APPDATA"))
+ ,(or #+lispworks (sys:get-folder-path :common-appdata)
+ (getenv-absolute-directory "ALLUSERSAPPDATA")
+ (subpathname* (getenv-absolute-directory "ALLUSERSPROFILE") "Application Data/")))))
+ :collect `(:directory ,(subpathname* dir "common-lisp/systems/"))
+ :collect `(:tree ,(subpathname* dir "common-lisp/source/")))
+ :inherit-configuration))
(defun* user-source-registry (&key (direction :input))
(in-user-configuration-directory *source-registry-file* :direction direction))
(defun* system-source-registry (&key (direction :input))
@@ -4362,51 +4397,56 @@ with a different configuration, so the configuration would be re-read then."
(clear-output-translations))
-;;; ECL support for COMPILE-OP / LOAD-OP
+;;; ECL and MKCL support for COMPILE-OP / LOAD-OP
;;;
-;;; In ECL, these operations produce both FASL files and the
-;;; object files that they are built from. Having both of them allows
-;;; us to later on reuse the object files for bundles, libraries,
-;;; standalone executables, etc.
+;;; In ECL and MKCL, these operations produce both
+;;; FASL files and the object files that they are built from.
+;;; Having both of them allows us to later on reuse the object files
+;;; for bundles, libraries, standalone executables, etc.
;;;
;;; This has to be in asdf.lisp and not asdf-ecl.lisp, or else it becomes
;;; a problem for asdf on ECL to compile asdf-ecl.lisp after loading asdf.lisp.
;;;
-#+ecl
-(progn
- (setf *compile-op-compile-file-function* 'ecl-compile-file)
-
- (defun ecl-compile-file (input-file &rest keys &key &allow-other-keys)
- (if (use-ecl-byte-compiler-p)
- (apply 'compile-file* input-file keys)
- (multiple-value-bind (object-file flags1 flags2)
- (apply 'compile-file* input-file :system-p t keys)
- (values (and object-file
- (c::build-fasl (compile-file-pathname object-file :type :fasl)
- :lisp-files (list object-file))
- object-file)
- flags1
- flags2))))
-
- (defmethod output-files ((operation compile-op) (c cl-source-file))
- (declare (ignorable operation))
- (let* ((p (lispize-pathname (component-pathname c)))
- (f (compile-file-pathname p :type :fasl)))
- (if (use-ecl-byte-compiler-p)
- (list f)
- (list (compile-file-pathname p :type :object) f))))
-
- (defmethod perform ((o load-op) (c cl-source-file))
- (map () #'load
- (loop :for i :in (input-files o c)
- :unless (string= (pathname-type i) "fas")
- :collect (compile-file-pathname (lispize-pathname i))))))
+;;; Also, register-pre-built-system.
-;;;; -----------------------------------------------------------------
-;;;; Hook into REQUIRE for ABCL, CLISP, ClozureCL, CMUCL, ECL and SBCL
+#+(or ecl mkcl)
+(progn
+ (defun register-pre-built-system (name)
+ (register-system (make-instance 'system :name (coerce-name name) :source-file nil)))
+
+ #+(or (and ecl win32) (and mkcl windows))
+ (unless (assoc "asd" #+ecl ext:*load-hooks* #+mkcl si::*load-hooks* :test 'equal)
+ (appendf #+ecl ext:*load-hooks* #+mkcl si::*load-hooks* '(("asd" . si::load-source))))
+
+ (setf #+ecl ext:*module-provider-functions* #+mkcl mk-ext::*module-provider-functions*
+ (loop :for f :in #+ecl ext:*module-provider-functions*
+ #+mkcl mk-ext::*module-provider-functions*
+ :unless (eq f 'module-provide-asdf)
+ :collect #'(lambda (name)
+ (let ((l (multiple-value-list (funcall f name))))
+ (and (first l) (register-pre-built-system (coerce-name name)))
+ (values-list l)))))
+
+ (setf *compile-op-compile-file-function* 'compile-file-keeping-object)
+
+ (defun compile-file-keeping-object (input-file &rest keys &key &allow-other-keys)
+ (#+ecl if #+ecl (use-ecl-byte-compiler-p) #+ecl (apply 'compile-file* input-file keys)
+ #+mkcl progn
+ (multiple-value-bind (object-file flags1 flags2)
+ (apply 'compile-file* input-file
+ #+ecl :system-p #+ecl t #+mkcl :fasl-p #+mkcl nil keys)
+ (values (and object-file
+ (compiler::build-fasl
+ (compile-file-pathname object-file
+ #+ecl :type #+ecl :fasl #+mkcl :fasl-p #+mkcl t)
+ #+ecl :lisp-files #+mkcl :lisp-object-files (list object-file))
+ object-file)
+ flags1
+ flags2)))))
+
+;;;; -----------------------------------------------------------------------
+;;;; Hook into REQUIRE for ABCL, CLISP, ClozureCL, CMUCL, ECL, MKCL and SBCL
;;;;
-(defvar *require-asdf-operator* 'load-op)
-
(defun* module-provide-asdf (name)
(handler-bind
((style-warning #'muffle-warning)
@@ -4418,10 +4458,10 @@ with a different configuration, so the configuration would be re-read then."
(let ((*verbose-out* (make-broadcast-stream))
(system (find-system (string-downcase name) nil)))
(when system
- (operate *require-asdf-operator* system :verbose nil :force-not (loaded-systems))
+ (require-system system :verbose nil)
t))))
-#+(or abcl clisp clozure cmu ecl sbcl)
+#+(or abcl clisp clozure cmu ecl mkcl sbcl)
(let ((x (and #+clisp (find-symbol* '#:*module-provider-functions* :custom))))
(when x
(eval `(pushnew 'module-provide-asdf
@@ -4429,6 +4469,7 @@ with a different configuration, so the configuration would be re-read then."
#+clisp ,x
#+clozure ccl:*module-provider-functions*
#+(or cmu ecl) ext:*module-provider-functions*
+ #+mkcl mk-ext:*module-provider-functions*
#+sbcl sb-ext:*module-provider-functions*))))
@@ -4448,6 +4489,21 @@ with a different configuration, so the configuration would be re-read then."
(when *load-verbose*
(asdf-message ";; ASDF, version ~a~%" (asdf-version)))
+#+mkcl
+(progn
+ (defvar *loading-asdf-bundle* nil)
+ (unless *loading-asdf-bundle*
+ (let ((*central-registry*
+ (cons (translate-logical-pathname #P"CONTRIB:asdf-bundle;") *central-registry*))
+ (*loading-asdf-bundle* t))
+ (clear-system :asdf-bundle) ;; we hope to force a reload.
+ (multiple-value-bind (result bundling-error)
+ (ignore-errors (asdf:oos 'asdf:load-op :asdf-bundle))
+ (unless result
+ (format *error-output*
+ "~&;;; ASDF: Failed to load package 'asdf-bundle'!~%;;; ASDF: Reason is: ~A.~%"
+ bundling-error))))))
+
#+allegro
(eval-when (:compile-toplevel :execute)
(when (boundp 'excl:*warn-on-nested-reader-conditionals*)
diff --git a/src/general-info/release-20d.txt b/src/general-info/release-20d.txt
index da2f979..188479c 100644
--- a/src/general-info/release-20d.txt
+++ b/src/general-info/release-20d.txt
@@ -30,7 +30,7 @@ New in this release:
* Added external format for EUC-KR.
* Changes
- * ASDF2 updated to version 2.23.
+ * ASDF2 updated to version 2.24.
* Behavior of STRING-TO-OCTETS has changed. This is an
incompatible change from the previous version but should be more
useful when a buffer is given which is not large enough to hold
-----------------------------------------------------------------------
Summary of changes:
src/contrib/asdf/asdf.lisp | 250 +++++++++++++++++++++++---------------
src/general-info/release-20d.txt | 2 +-
2 files changed, 154 insertions(+), 98 deletions(-)
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-08-9-gff56940
by Raymond Toy 28 Aug '12
by Raymond Toy 28 Aug '12
28 Aug '12
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 ff569406a77867b99256fc829d233478334aaf46 (commit)
from 0dae48842681ded2440ebf34339e1a6851f3f80c (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 ff569406a77867b99256fc829d233478334aaf46
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Mon Aug 27 22:47:36 2012 -0700
Clean up debug_print. Surrogate pairs are always high surrogate
followed by low; anything else is invalid.
diff --git a/src/lisp/interr.c b/src/lisp/interr.c
index f5bc61f..a203d57 100644
--- a/src/lisp/interr.c
+++ b/src/lisp/interr.c
@@ -226,53 +226,38 @@ surrogatep(int code, int *type)
static int
utf16_codepoint(unsigned short int* utf16, int len, int* consumed)
{
- int code = *utf16;
- int read = 1;
-
+ int codepoint = REPLACEMENT_CODE;
+ int code_unit = *utf16;
int code_type;
+ int read = 1;
/*
* If the current code unit is not a surrogate, we're done.
- * Otherwise process the surrogate.
+ * Otherwise process the surrogate. If this is a high (leading)
+ * surrogate and the next code unit is a low (trailing) surrogate,
+ * compute the code point. Otherwise we have a bare surrogate or
+ * an invalid surrogate sequence, so just return the replacement
+ * character.
*/
- if (surrogatep(code, &code_type)) {
- /*
- * Try to get the following surrogate, if there are still code
- * units left. If not, we have a bare surrogate, so just
- * return the replacement character.
- */
- if (len > 0) {
- int next = utf16[1];
+ if (surrogatep(code_unit, &code_type)) {
+ if (code_type == 0 && len > 0) {
+ int next_unit = utf16[1];
int next_type;
- if (surrogatep(next, &next_type)) {
- /* Got the following surrogate, so combine them if possible */
- if ((code_type == 0) && (next_type == 1)) {
+ if (surrogatep(next_unit, &next_type)) {
+ if (next_type == 1) {
/* High followed by low surrogate */
- code = ((code - 0xd800) << 10) + next + 0x2400;
- ++read;
- } else if ((code_type == 1) && (next_type == 0)) {
- /*
- * Low followed by high surrogate. Not sure if we
- * really need to handle this case.
- */
- code = ((code - 0xd800) << 10) + next + 0x2400;;
+ codepoint = ((code_unit - 0xd800) << 10) + next_unit + 0x2400;
++read;
- } else {
- /* Give up */
- code = REPLACEMENT_CODE;
}
- } else {
- /* Surrogate followed by non-surrogate. Give up */
- code = REPLACEMENT_CODE;
}
- } else {
- code = REPLACEMENT_CODE;
}
+ } else {
+ codepoint = code_unit;
}
*consumed = read;
- return code;
+ return codepoint;
}
/*
@@ -340,8 +325,8 @@ debug_print(lispobj object)
}
} else {
/*
- * We should actually ever get here because %primitive print
- * is only supposed to take strings. But if we do, it's
+ * We shouldn't actually ever get here because %primitive
+ * print is only supposed to take strings. But if we do, it's
* useful to print something out anyway.
*/
#if 1
-----------------------------------------------------------------------
Summary of changes:
src/lisp/interr.c | 53 +++++++++++++++++++----------------------------------
1 files changed, 19 insertions(+), 34 deletions(-)
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-08-8-g0dae488
by Raymond Toy 27 Aug '12
by Raymond Toy 27 Aug '12
27 Aug '12
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 0dae48842681ded2440ebf34339e1a6851f3f80c (commit)
from 88d77e83c17fd5d48be454542389d3ff71a27b4b (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 0dae48842681ded2440ebf34339e1a6851f3f80c
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Sun Aug 26 20:12:29 2012 -0700
Minor cleanups of utf8 code.
diff --git a/src/lisp/interr.c b/src/lisp/interr.c
index 90c7f7d..f5bc61f 100644
--- a/src/lisp/interr.c
+++ b/src/lisp/interr.c
@@ -161,6 +161,10 @@ internal_error(os_context_t * context)
/* Utility routines used by random pieces of code. */
#if defined(UNICODE)
+
+/* The Unicode replacement character code */
+#define REPLACEMENT_CODE 0xfffd
+
/*
* Convert a unicode code point to a set of utf8-encoded octets to
* standard output. This is the algorithm used by the Lisp utf8
@@ -196,7 +200,7 @@ utf8(int code, int len)
* surrogate. If not a surrogate, type is not modified. If type is
* NULL, then no type is returned.
*/
-boolean
+static boolean
surrogatep(int code, int *type)
{
boolean result;
@@ -219,7 +223,7 @@ surrogatep(int code, int *type)
* codepoint is returned and the number of code units consumed is
* returned in consumed.
*/
-int
+static int
utf16_codepoint(unsigned short int* utf16, int len, int* consumed)
{
int code = *utf16;
@@ -229,7 +233,7 @@ utf16_codepoint(unsigned short int* utf16, int len, int* consumed)
/*
* If the current code unit is not a surrogate, we're done.
- * Otherwise process the surrogate
+ * Otherwise process the surrogate.
*/
if (surrogatep(code, &code_type)) {
@@ -248,19 +252,22 @@ utf16_codepoint(unsigned short int* utf16, int len, int* consumed)
code = ((code - 0xd800) << 10) + next + 0x2400;
++read;
} else if ((code_type == 1) && (next_type == 0)) {
- /* Low followed by high surrogate */
+ /*
+ * Low followed by high surrogate. Not sure if we
+ * really need to handle this case.
+ */
code = ((code - 0xd800) << 10) + next + 0x2400;;
++read;
} else {
/* Give up */
- code = 0xfffd;
+ code = REPLACEMENT_CODE;
}
} else {
/* Surrogate followed by non-surrogate. Give up */
- code = 0xfffd;
+ code = REPLACEMENT_CODE;
}
} else {
- code = 0xfffd;
+ code = REPLACEMENT_CODE;
}
}
-----------------------------------------------------------------------
Summary of changes:
src/lisp/interr.c | 21 ++++++++++++++-------
1 files changed, 14 insertions(+), 7 deletions(-)
hooks/post-receive
--
CMU Common Lisp
1
0

[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-08-7-g88d77e8
by Raymond Toy 26 Aug '12
by Raymond Toy 26 Aug '12
26 Aug '12
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 88d77e83c17fd5d48be454542389d3ff71a27b4b (commit)
from a176515cc4356f3f6de43391604e90c7e8391b99 (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 88d77e83c17fd5d48be454542389d3ff71a27b4b
Author: Raymond Toy <toy.raymond(a)gmail.com>
Date: Sat Aug 25 08:48:51 2012 -0700
Change %primitive print.to output strings in utf8 instead of utf16.
No more random NUL ASCII characters on output now.
diff --git a/src/lisp/interr.c b/src/lisp/interr.c
index 57e18f2..90c7f7d 100644
--- a/src/lisp/interr.c
+++ b/src/lisp/interr.c
@@ -160,6 +160,152 @@ internal_error(os_context_t * context)
/* Utility routines used by random pieces of code. */
+#if defined(UNICODE)
+/*
+ * Convert a unicode code point to a set of utf8-encoded octets to
+ * standard output. This is the algorithm used by the Lisp utf8
+ * encoder in src/code/extfmts.lisp.
+ */
+static void
+utf8(int code, int len)
+{
+ int k;
+ int j = 6 - len;
+ int p = 6 * len;
+ int init = 0xff & (0x7e << j);
+ int c;
+
+ /*
+ * (ldb (byte j p) code): Extract j bits from position p of the code
+ */
+ c = (code >> p) & ((1 << j) - 1);
+
+ putchar(init | c);
+
+ for (k = 0; k < len; ++k) {
+ p -= 6;
+ /* (ldb (byte 6 p) code) */
+ c = (code >> p) & ((1 << 6) - 1);
+ putchar(128 | c);
+ }
+}
+
+/*
+ * Test if code is a surrogate. Returns true if so. If the code is a
+ * surrogate, then type indicates if it is a high (0) or low (1)
+ * surrogate. If not a surrogate, type is not modified. If type is
+ * NULL, then no type is returned.
+ */
+boolean
+surrogatep(int code, int *type)
+{
+ boolean result;
+
+ if ((code >> 11) == 0x1b) {
+ result = 1;
+ if (type) {
+ *type = (code >> 10) & 1;
+ }
+ } else {
+ result = 0;
+ }
+
+ return result;
+}
+
+/*
+ * Convert one or two utf16 code units into a code point. utf16
+ * points to the string, len is the length of the string. The
+ * codepoint is returned and the number of code units consumed is
+ * returned in consumed.
+ */
+int
+utf16_codepoint(unsigned short int* utf16, int len, int* consumed)
+{
+ int code = *utf16;
+ int read = 1;
+
+ int code_type;
+
+ /*
+ * If the current code unit is not a surrogate, we're done.
+ * Otherwise process the surrogate
+ */
+
+ if (surrogatep(code, &code_type)) {
+ /*
+ * Try to get the following surrogate, if there are still code
+ * units left. If not, we have a bare surrogate, so just
+ * return the replacement character.
+ */
+ if (len > 0) {
+ int next = utf16[1];
+ int next_type;
+ if (surrogatep(next, &next_type)) {
+ /* Got the following surrogate, so combine them if possible */
+ if ((code_type == 0) && (next_type == 1)) {
+ /* High followed by low surrogate */
+ code = ((code - 0xd800) << 10) + next + 0x2400;
+ ++read;
+ } else if ((code_type == 1) && (next_type == 0)) {
+ /* Low followed by high surrogate */
+ code = ((code - 0xd800) << 10) + next + 0x2400;;
+ ++read;
+ } else {
+ /* Give up */
+ code = 0xfffd;
+ }
+ } else {
+ /* Surrogate followed by non-surrogate. Give up */
+ code = 0xfffd;
+ }
+ } else {
+ code = 0xfffd;
+ }
+ }
+
+ *consumed = read;
+ return code;
+}
+
+/*
+ * Send the utf-16 Lisp unicode string to standard output as a
+ * utf8-encoded sequence of octets.
+ */
+static void
+utf16_output(unsigned short int* utf16, int len)
+{
+ while (len) {
+ int consumed;
+ int code = utf16_codepoint(utf16, len, &consumed);
+
+ /* Output the codepoint */
+ if (code < 0x80) {
+ putchar(code);
+ } else if (code < 0x800) {
+ utf8(code, 1);
+ } else if (code < 0x10000) {
+ utf8(code, 2);
+ } else if (code < 0x110000) {
+ utf8(code, 3);
+ } else {
+ /*
+ * This shouldn't happen, but if it does we don't want to
+ * signal any kind of error so just output a question mark
+ * so we can continue.
+ */
+ putchar('?');
+ }
+
+ len -= consumed;
+ utf16 += consumed;
+ }
+}
+#endif
+
+/*
+ * debug_print is used by %primitive print to output a string.
+ */
lispobj
debug_print(lispobj object)
{
@@ -178,13 +324,7 @@ debug_print(lispobj object)
len = lisp_string->length >> 2;
lisp_chars = (unsigned short int*) lisp_string->data;
- /*
- * Do we really want to dump out the entire contents of
- * the utf-16 string? Should we just print out the low 8
- * bits of each Lisp character? Or maybe convert the
- * utf-16 string to some more suitable encoding?
- */
- fwrite(lisp_chars, sizeof(*lisp_chars), len, stdout);
+ utf16_output(lisp_chars, len);
putchar('\n');
fflush(stdout);
@@ -192,6 +332,11 @@ debug_print(lispobj object)
print(object);
}
} else {
+ /*
+ * We should actually ever get here because %primitive print
+ * is only supposed to take strings. But if we do, it's
+ * useful to print something out anyway.
+ */
#if 1
printf("obj @0x%lx: ", (unsigned long) object);
#endif
-----------------------------------------------------------------------
Summary of changes:
src/lisp/interr.c | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 152 insertions(+), 7 deletions(-)
hooks/post-receive
--
CMU Common Lisp
1
0