(defun sb!kernel:%with-array-data (array start end)
(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))))
\f
;; Need these so constant folding works with the deftransform.
-(defun ash-right-signed (num shift)
- (declare (type (signed-byte #.sb!vm:n-word-bits) num)
- (type (integer 0 #.(1- sb!vm:n-word-bits)) shift))
- (ash-right-signed num shift))
-
-(defun ash-right-unsigned (num shift)
- (declare (type (unsigned-byte #.sb!vm:n-word-bits) num)
- (type (integer 0 #.(1- sb!vm:n-word-bits)) shift))
- (ash-right-unsigned num shift))
+;; FIXME KLUDGE ew yuk.
+#-sb-xc-host
+(progn
+ (defun ash-right-signed (num shift)
+ (ash-right-signed num shift))
+
+ (defun ash-right-unsigned (num shuft)
+ (ash-right-unsigned num shift)))
;; If we can prove that we have a right shift, just do the right shift
;; instead of calling the inline ASH which has to check for the
build_fake_control_stack_frames(th,context);
#endif
- *os_context_pc_addr(context) = call_into_lisp;
#ifdef LISP_FEATURE_X86
+ *os_context_pc_addr(context) = call_into_lisp;
*os_context_register_addr(context,reg_ECX) = 0;
*os_context_register_addr(context,reg_EBP) = sp-2;
*os_context_register_addr(context,reg_ESP) = sp-14;
#else
/* this much of the calling convention is common to all
non-x86 ports */
+ *os_context_pc_addr(context) = code;
*os_context_register_addr(context,reg_NARGS) = 0;
*os_context_register_addr(context,reg_LIP) = code;
*os_context_register_addr(context,reg_CFP) =
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.2.39"
+"0.8.2.40"