(in-package "SB!IMPL")
-(defmacro atomic-incf/symbol (symbol-name &optional (delta 1))
- #!-sb-thread
- `(incf ,symbol-name ,delta)
- #!+sb-thread
- `(locally
- (declare (optimize (safety 0) (speed 3)))
- (sb!vm::locked-symbol-global-value-add ',symbol-name ,delta)))
-
;;;; these are initialized in cold init
(defvar *in-without-gcing*)
#!+sb-thread
(defvar *stop-for-gc-pending*)
+;;; This one is initialized by the runtime, at thread creation. On
+;;; non-x86oid gencgc targets, this is a per-thread list of objects
+;;; which must not be moved during GC. It is frobbed by the code for
+;;; with-pinned-objects in src/compiler/target/macros.lisp.
+#!+(and gencgc (not (or x86 x86-64)))
+(defvar sb!vm::*pinned-objects*)
+
(defmacro without-gcing (&body body)
#!+sb-doc
"Executes the forms in the body without doing a garbage collection. It