0.pre7.59:
[sbcl.git] / src / compiler / generic / vm-fndb.lisp
index 1464c0a..526efd6 100644 (file)
@@ -55,9 +55,9 @@
 (defknown vector-sap ((simple-unboxed-array (*))) system-area-pointer
   (flushable))
 
-(defknown get-lowtag (t) (unsigned-byte #.sb!vm:lowtag-bits)
+(defknown get-lowtag (t) (unsigned-byte #.sb!vm:n-lowtag-bits)
   (flushable movable))
-(defknown get-type (t) (unsigned-byte #.sb!vm:type-bits)
+(defknown get-type (t) (unsigned-byte #.sb!vm:n-widetag-bits)
   (flushable movable))
 
 (defknown (get-header-data get-closure-length) (t) (unsigned-byte 24)
 (defknown stack-ref (system-area-pointer index) t (flushable))
 (defknown %set-stack-ref (system-area-pointer index t) t (unsafe))
 (defknown lra-code-header (t) t (movable flushable))
-(defknown function-code-header (t) t (movable flushable))
+(defknown fun-code-header (t) t (movable flushable))
 (defknown make-lisp-obj ((unsigned-byte 32)) t (movable flushable))
 (defknown get-lisp-obj-address (t) (unsigned-byte 32) (movable flushable))
-(defknown function-word-offset (function) index (movable flushable))
+(defknown fun-word-offset (function) index (movable flushable))
 \f
 ;;;; 32-bit logical operations
 
 \f
 ;;;; bignum operations
 
-(defknown %allocate-bignum (bignum-index) bignum-type
+(defknown %allocate-bignum (bignum-index) bignum-widetag
   (flushable))
 
-(defknown %bignum-length (bignum-type) bignum-index
+(defknown %bignum-length (bignum-widetag) bignum-index
   (foldable flushable movable))
 
-(defknown %bignum-set-length (bignum-type bignum-index) bignum-type
+(defknown %bignum-set-length (bignum-widetag bignum-index) bignum-widetag
   (unsafe))
 
-(defknown %bignum-ref (bignum-type bignum-index) bignum-element-type
+(defknown %bignum-ref (bignum-widetag bignum-index) bignum-element-type
   (flushable))
 
-(defknown %bignum-set (bignum-type bignum-index bignum-element-type)
+(defknown %bignum-set (bignum-widetag bignum-index bignum-element-type)
   bignum-element-type
   (unsafe))
 
   (foldable flushable movable))
 
 (defknown %fixnum-digit-with-correct-sign (bignum-element-type)
-  (signed-byte #.sb!vm:word-bits)
+  (signed-byte #.sb!vm:n-word-bits)
   (foldable flushable movable))
 
 (defknown (%ashl %ashr %digit-logical-shift-right)
           (simple-unboxed-array (*)) index index)
   null
   ())
+
+;;; (not really a bit-bashing routine, but starting to take over from
+;;; bit-bashing routines in byte-sized copies as of sbcl-0.6.12.29:)
+(defknown %byte-blt
+  ((or (simple-unboxed-array (*)) system-area-pointer) index
+   (or (simple-unboxed-array (*)) system-area-pointer) index index)
+  null
+  ())
 \f
 ;;;; code/function/fdefn object manipulation routines
 
 (defknown code-header-ref (t index) t (flushable))
 (defknown code-header-set (t index t) t ())
 
-(defknown function-subtype (function) (unsigned-byte #.sb!vm:type-bits)
+(defknown function-subtype (function) (unsigned-byte #.sb!vm:n-widetag-bits)
   (flushable))
 (defknown ((setf function-subtype))
-         ((unsigned-byte #.sb!vm:type-bits) function)
-  (unsigned-byte #.sb!vm:type-bits)
+         ((unsigned-byte #.sb!vm:n-widetag-bits) function)
+  (unsigned-byte #.sb!vm:n-widetag-bits)
   ())
 
 (defknown make-fdefn (t) fdefn (flushable movable))
 (defknown fdefn-p (t) boolean (movable foldable flushable))
 (defknown fdefn-name (fdefn) t (foldable flushable))
-(defknown fdefn-function (fdefn) (or function null) (flushable))
-(defknown (setf fdefn-function) (function fdefn) t (unsafe))
+(defknown fdefn-fun (fdefn) (or function null) (flushable))
+(defknown (setf fdefn-fun) (function fdefn) t (unsafe))
 (defknown fdefn-makunbound (fdefn) t ())
 
-(defknown %function-self (function) function
+(defknown %simple-fun-self (function) function
   (flushable))
-(defknown (setf %function-self) (function function) function
+(defknown (setf %simple-fun-self) (function function) function
   (unsafe))
 
-(defknown %closure-function (function) function
+(defknown %closure-fun (function) function
   (flushable))
 
 (defknown %closure-index-ref (function index) t
 (defknown %make-funcallable-instance (index layout) function
   (unsafe))
 
-;;; FIXME/REMOVEME: MNA patched these like this, but I don't
-;;; understand why, so I mutated them back to see what goes wrong.
-;;;-(defknown %funcallable-instance-info (function index) t (flushable))
-;;;-(defknown %set-funcallable-instance-info (function index t) t (unsafe))
-;;;+(defknown %funcallable-instance-info ((or function cons) index) t (flushable))
-;;;+(defknown %set-funcallable-instance-info ((or function cons) index t) t (unsafe))
-;;;
 (defknown %funcallable-instance-info (function index) t (flushable))
 (defknown %set-funcallable-instance-info (function index t) t (unsafe))
 \f