* restore macos/x86 buildability without sb-thread by making the
lutex primitive object defintion and %make-lutex and lutexp
definitions be #!+sb-lutex not #!+(and sb-lutex sb-thread).
(real :c-type "double" :length #!-x86-64 2 #!+x86-64 1)
(imag :c-type "double" :length #!-x86-64 2 #!+x86-64 1))
(real :c-type "double" :length #!-x86-64 2 #!+x86-64 1)
(imag :c-type "double" :length #!-x86-64 2 #!+x86-64 1))
-#!+(and sb-thread sb-lutex)
(define-primitive-object (lutex
:lowtag other-pointer-lowtag
:widetag lutex-widetag
(define-primitive-object (lutex
:lowtag other-pointer-lowtag
:widetag lutex-widetag
(defknown %instance-length (instance) index
(foldable flushable))
(defknown %instance-ref (instance index) t
(defknown %instance-length (instance) index
(foldable flushable))
(defknown %instance-ref (instance index) t
+ (flushable always-translatable))
(defknown %instance-set (instance index t) t
(defknown %instance-set (instance index t) t
+ (unsafe always-translatable))
(defknown %layout-invalid-error (t layout) nil)
#!-hppa
(progn
(defknown %raw-instance-ref/word (instance index) sb!vm:word
(defknown %layout-invalid-error (t layout) nil)
#!-hppa
(progn
(defknown %raw-instance-ref/word (instance index) sb!vm:word
+ (flushable always-translatable))
(defknown %raw-instance-set/word (instance index sb!vm:word) sb!vm:word
(defknown %raw-instance-set/word (instance index sb!vm:word) sb!vm:word
+ (unsafe always-translatable))
(defknown %raw-instance-ref/single (instance index) single-float
(defknown %raw-instance-ref/single (instance index) single-float
+ (flushable always-translatable))
(defknown %raw-instance-set/single (instance index single-float) single-float
(defknown %raw-instance-set/single (instance index single-float) single-float
+ (unsafe always-translatable))
(defknown %raw-instance-ref/double (instance index) double-float
(defknown %raw-instance-ref/double (instance index) double-float
+ (flushable always-translatable))
(defknown %raw-instance-set/double (instance index double-float) double-float
(defknown %raw-instance-set/double (instance index double-float) double-float
+ (unsafe always-translatable))
(defknown %raw-instance-ref/complex-single (instance index)
(complex single-float)
(defknown %raw-instance-ref/complex-single (instance index)
(complex single-float)
+ (flushable always-translatable))
(defknown %raw-instance-set/complex-single
(instance index (complex single-float))
(complex single-float)
(defknown %raw-instance-set/complex-single
(instance index (complex single-float))
(complex single-float)
+ (unsafe always-translatable))
(defknown %raw-instance-ref/complex-double (instance index)
(complex double-float)
(defknown %raw-instance-ref/complex-double (instance index)
(complex double-float)
+ (flushable always-translatable))
(defknown %raw-instance-set/complex-double
(instance index (complex double-float))
(complex double-float)
(defknown %raw-instance-set/complex-double
(instance index (complex double-float))
(complex double-float)
+ (unsafe always-translatable))
)
;;; %RAW-{REF,SET}-FOO VOPs should be declared as taking a RAW-VECTOR
)
;;; %RAW-{REF,SET}-FOO VOPs should be declared as taking a RAW-VECTOR
sb!vm::simple-array-unsigned-byte-64)
(defknown %raw-ref-single (raw-vector index) single-float
sb!vm::simple-array-unsigned-byte-64)
(defknown %raw-ref-single (raw-vector index) single-float
+ (foldable flushable always-translatable))
(defknown %raw-ref-double (raw-vector index) double-float
(defknown %raw-ref-double (raw-vector index) double-float
+ (foldable flushable always-translatable))
#!+long-float
(defknown %raw-ref-long (raw-vector index) long-float
#!+long-float
(defknown %raw-ref-long (raw-vector index) long-float
+ (foldable flushable always-translatable))
(defknown %raw-set-single (raw-vector index single-float) single-float
(defknown %raw-set-single (raw-vector index single-float) single-float
+ (unsafe always-translatable))
(defknown %raw-set-double (raw-vector index double-float) double-float
(defknown %raw-set-double (raw-vector index double-float) double-float
+ (unsafe always-translatable))
#!+long-float
(defknown %raw-set-long (raw-vector index long-float) long-float
#!+long-float
(defknown %raw-set-long (raw-vector index long-float) long-float
+ (unsafe always-translatable))
(defknown %raw-ref-complex-single (raw-vector index) (complex single-float)
(defknown %raw-ref-complex-single (raw-vector index) (complex single-float)
+ (foldable flushable always-translatable))
(defknown %raw-ref-complex-double (raw-vector index) (complex double-float)
(defknown %raw-ref-complex-double (raw-vector index) (complex double-float)
+ (foldable flushable always-translatable))
(defknown %raw-set-complex-single (raw-vector index (complex single-float))
(complex single-float)
(defknown %raw-set-complex-single (raw-vector index (complex single-float))
(complex single-float)
+ (unsafe always-translatable))
(defknown %raw-set-complex-double (raw-vector index (complex double-float))
(complex double-float)
(defknown %raw-set-complex-double (raw-vector index (complex double-float))
(complex double-float)
+ (unsafe always-translatable))
)
(defknown %raw-bits (t fixnum) sb!vm:word
)
(defknown %raw-bits (t fixnum) sb!vm:word
-#!+(and sb-thread sb-lutex)
(progn
(defknown sb!vm::%make-lutex () sb!vm::lutex ())
(defknown sb!vm::lutexp (t) boolean (foldable flushable)))
(progn
(defknown sb!vm::%make-lutex () sb!vm::lutex ())
(defknown sb!vm::lutexp (t) boolean (foldable flushable)))
;;; 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".)
;;; 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".)