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 b5237efc88c50577986563b7e8f126b95eb6a94e (commit) from d1af0b85c857baaa7bab870b22590b7b44486a7f (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 b5237efc88c50577986563b7e8f126b95eb6a94e Author: Raymond Toy toy.raymond@gmail.com Date: Mon Feb 18 19:27:47 2013 -0800
Add some fixnum contants for x86, as was done for sparc.
code/export.lisp:: * Export new symbols
compiler/x86/parms.lisp:: * Define constants for useful the number of lowtag bits and masks and the number of fixnum tag bits and masks.
diff --git a/src/code/exports.lisp b/src/code/exports.lisp index b127c27..3e9631b 100644 --- a/src/code/exports.lisp +++ b/src/code/exports.lisp @@ -1136,7 +1136,10 @@ "CHAR-BITS" "CHAR-BYTES" ) #+x86 - (:export "COMPATIBLE-FUNCTION-TYPES-P") + (:export "COMPATIBLE-FUNCTION-TYPES-P" + "POSITIVE-FIXNUM-BITS" + "FIXNUM-TAG-BITS" + "FIXNUM-TAG-MASK") #+sparc (:export "ALLOCATION-TRAP" "POSITIVE-FIXNUM-BITS" diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp index 77b04b3..6a643af 100644 --- a/src/compiler/x86/parms.lisp +++ b/src/compiler/x86/parms.lisp @@ -75,6 +75,7 @@ ;;;; Machine Architecture parameters:
(export '(word-bits byte-bits char-bits word-shift word-bytes char-bytes + fixnum-tag-bits fixnum-tag-mask positive-fixnum-bits float-sign-shift
single-float-bias single-float-exponent-byte @@ -119,6 +120,25 @@
(defconstant word-bytes (/ word-bits byte-bits) "Number of bytes in a word.") + +(defconstant lowtag-bits 3 + "Number of bits at the low end of a pointer used for type information.") + +(defconstant lowtag-mask (1- (ash 1 lowtag-bits)) + "Mask to extract the low tag bits from a pointer.") + +(defconstant lowtag-limit (ash 1 lowtag-bits) + "Exclusive upper bound on the value of the low tag bits from a + pointer.") + +(defconstant fixnum-tag-bits (1- lowtag-bits) + "Number of tag bits used for a fixnum") + +(defconstant fixnum-tag-mask (1- (ash 1 fixnum-tag-bits)) + "Mask to get the fixnum tag") + +(defconstant positive-fixnum-bits (- word-bits fixnum-tag-bits 1) + "Maximum number of bits in a positive fixnum") ) ; eval-when
(eval-when (compile load eval)
-----------------------------------------------------------------------
Summary of changes: src/code/exports.lisp | 5 ++++- src/compiler/x86/parms.lisp | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletions(-)
hooks/post-receive