X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fvm-fndb.lisp;h=bd96d7becdc7fa204ba7fcf26a6081d9ddb7e4ec;hb=2f8c59edcd41f03c5daebeaf87518b5071a19826;hp=50c203c5883c41465a59c87db463680a74029564;hpb=9769174fc3e1a9d840712a694f61c6051e161cd7;p=sbcl.git diff --git a/src/compiler/generic/vm-fndb.lisp b/src/compiler/generic/vm-fndb.lisp index 50c203c..bd96d7b 100644 --- a/src/compiler/generic/vm-fndb.lisp +++ b/src/compiler/generic/vm-fndb.lisp @@ -69,6 +69,8 @@ ;;;; miscellaneous "sub-primitives" +(defknown pointer-hash (t) hash (flushable)) + (defknown %sp-string-compare (simple-string index index simple-string index index) (or index null) @@ -109,7 +111,9 @@ (flushable)) (defknown %make-instance (index) instance - (unsafe)) + (flushable)) +(defknown %make-structure-instance (defstruct-description list &rest t) instance + (flushable always-translatable)) (defknown %instance-layout (instance) layout (foldable flushable)) (defknown %set-instance-layout (instance layout) layout @@ -252,7 +256,7 @@ (defknown %set-stack-ref (system-area-pointer index t) t (unsafe)) (defknown lra-code-header (t) t (movable flushable)) (defknown fun-code-header (t) t (movable flushable)) -(defknown make-lisp-obj (sb!vm:word) t (movable flushable)) +(defknown %make-lisp-obj (sb!vm:word) t (movable flushable)) (defknown get-lisp-obj-address (t) sb!vm:word (movable flushable)) (defknown fun-word-offset (function) index (movable flushable)) @@ -290,14 +294,14 @@ (defknown %bignum-ref (bignum-type bignum-index) bignum-element-type (flushable)) -#!+x86 +#!+(or x86 x86-64) (defknown %bignum-ref-with-offset (bignum-type bignum-index (signed-byte 24)) bignum-element-type (flushable always-translatable)) (defknown %bignum-set (bignum-type bignum-index bignum-element-type) bignum-element-type (unsafe)) -#!+x86 +#!+(or x86 x86-64) (defknown %bignum-set-with-offset (bignum-type bignum-index (signed-byte 24) bignum-element-type) bignum-element-type (unsafe always-translatable))