X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fcache.lisp;h=49641bcc60f4cde8fcccad873ccc20d2e41c38fc;hb=13bb6d7a14d408cbf545968107fae797cd1cce77;hp=4bc0854500c2431d5af13b74d6482aac33573ae6;hpb=2716573f357f204c5f546d1d34d285dd24ff43a1;p=sbcl.git diff --git a/src/pcl/cache.lisp b/src/pcl/cache.lisp index 4bc0854..49641bc 100644 --- a/src/pcl/cache.lisp +++ b/src/pcl/cache.lisp @@ -25,18 +25,6 @@ (in-package "SB-PCL") -;;; FIXME: SB-PCL should probably USE-PACKAGE SB-KERNEL, since SB-PCL -;;; is built on SB-KERNEL, and in the absence of USE-PACKAGE, it ends -;;; up using a thundering herd of explicit prefixes to get to -;;; SB-KERNEL symbols. Using the SB-INT and SB-EXT packages as well -;;; would help reduce prefixing and make it more natural to reuse -;;; things (ONCE-ONLY, *KEYWORD-PACKAGE*..) used in the main body of -;;; the system. However, that would cause a conflict between the -;;; SB-ITERATE:ITERATE macro and the SB-INT:ITERATE macro. (This could -;;; be resolved by renaming SB-INT:ITERATE to SB-INT:NAMED-LET, or -;;; with more gruntwork by punting the SB-ITERATE package and -;;; replacing calls to SB-ITERATE:ITERATE with calls to CL:LOOP. - ;;; The caching algorithm implemented: ;;; ;;; << put a paper here >> @@ -108,13 +96,13 @@ `(cache-vector-ref ,cache-vector 0)) (defun flush-cache-vector-internal (cache-vector) - (without-interrupts + (sb-sys:without-interrupts (fill (the simple-vector cache-vector) nil) (setf (cache-vector-lock-count cache-vector) 0)) cache-vector) (defmacro modify-cache (cache-vector &body body) - `(without-interrupts + `(sb-sys:without-interrupts (multiple-value-prog1 (progn ,@body) (let ((old-count (cache-vector-lock-count ,cache-vector))) @@ -168,7 +156,7 @@ ;;; ever return a larger cache. (defun get-cache-vector (size) (let ((entry (gethash size *free-cache-vectors*))) - (without-interrupts + (sb-sys:without-interrupts (cond ((null entry) (setf (gethash size *free-cache-vectors*) (cons 0 nil)) (get-cache-vector size)) @@ -182,7 +170,7 @@ (defun free-cache-vector (cache-vector) (let ((entry (gethash (cache-vector-size cache-vector) *free-cache-vectors*))) - (without-interrupts + (sb-sys:without-interrupts (if (null entry) (error "attempt to free a cache-vector not allocated by GET-CACHE-VECTOR") @@ -327,7 +315,7 @@ invalid)))) (defun (setf wrapper-state) (new-value wrapper) (setf (sb-kernel:layout-invalid wrapper) - (if (eq new-value 't) + (if (eq new-value t) nil new-value))) @@ -435,7 +423,7 @@ ;;; FIXME: could become inline function (defmacro invalid-wrapper-p (wrapper) - `(neq (wrapper-state ,wrapper) 't)) + `(neq (wrapper-state ,wrapper) t)) (defvar *previous-nwrappers* (make-hash-table)) @@ -469,7 +457,7 @@ (defun check-wrapper-validity (instance) (let* ((owrapper (wrapper-of instance)) (state (wrapper-state owrapper))) - (if (eq state 't) + (if (eq state t) owrapper (let ((nwrapper (ecase (car state) @@ -503,7 +491,8 @@ (defvar *free-caches* nil) (defun get-cache (nkeys valuep limit-fn nlines) - (let ((cache (or (without-interrupts (pop *free-caches*)) (make-cache)))) + (let ((cache (or (sb-sys:without-interrupts (pop *free-caches*)) + (make-cache)))) (declare (type cache cache)) (multiple-value-bind (cache-mask actual-size line-size nlines) (compute-cache-parameters nkeys valuep nlines) @@ -527,7 +516,8 @@ &optional (new-field (first-wrapper-cache-number-index))) (let ((nkeys (cache-nkeys old-cache)) (valuep (cache-valuep old-cache)) - (cache (or (without-interrupts (pop *free-caches*)) (make-cache)))) + (cache (or (sb-sys:without-interrupts (pop *free-caches*)) + (make-cache)))) (declare (type cache cache)) (multiple-value-bind (cache-mask actual-size line-size nlines) (if (= new-nlines (cache-nlines old-cache)) @@ -742,8 +732,8 @@ (wrapper nil) ,@(when wrappers `((class *the-class-t*) - (type 't)))) - (unless (eq mt 't) + (type t)))) + (unless (eq mt t) (setq wrapper (wrapper-of arg)) (when (invalid-wrapper-p wrapper) (setq ,invalid-wrapper-p t)