X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcross-misc.lisp;h=86d80827d78658ca6b247bb637111c5746d88c32;hb=15d6e7c9a2c3234f95dfe278046fa2fee1b0c007;hp=0d68f251cc9b15c1ac5b3c0636a6b8e1c17f7f52;hpb=a8166c109a5ae1ebaa0204946c0f720e1acb700e;p=sbcl.git diff --git a/src/code/cross-misc.lisp b/src/code/cross-misc.lisp index 0d68f25..86d8082 100644 --- a/src/code/cross-misc.lisp +++ b/src/code/cross-misc.lisp @@ -145,9 +145,33 @@ (assert (typep array '(simple-array * (*)))) (values array start end 0)) -#!+sparc -(progn - (defun sb!vm::ash-right-signed (num shift) - (ash num (- shift))) - (defun sb!vm::ash-right-unsigned (num shift) - (ash num (- shift)))) +#!-alpha +(defun sb!vm::ash-left-mod32 (integer amount) + (ldb (byte 32 0) (ash integer amount))) +#!+alpha +(defun sb!vm::ash-left-mod64 (integer amount) + (ldb (byte 64 0) (ash integer amount))) + +;;; package locking nops for the cross-compiler + +(defmacro without-package-locks (&body body) + `(progn ,@body)) + +(defmacro with-single-package-locked-error ((&optional kind thing &rest format) + &body body) + (declare (ignore kind thing format)) + `(progn ,@body)) + +(defun compiler-assert-symbol-home-package-unlocked (symbol control) + (declare (ignore control)) + symbol) + +(defun assert-package-unlocked (package &optional control &rest args) + (declare (ignore control args)) + package) + +(defun assert-symbol-home-package-unlocked (name format &key continuablep) + (declare (ignore format continuablep)) + name) + +(declaim (declaration enable-package-locks disable-package-locks))