[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2013-02-5-gb5237ef
Raymond Toy
rtoy at common-lisp.net
Tue Feb 19 03:27:54 UTC 2013
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 at 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
--
CMU Common Lisp
More information about the cmucl-cvs
mailing list