X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsysmacs.lisp;h=dc1358edc7c5f63a9703752e84bab162721acc32;hb=860543cc7ba0266e41e1d41ac9b6a208f3795f1a;hp=1f9b8c88bee9a4966767d6ada6dbd6560b4cc609;hpb=e365f2f7a9c66d307b48fee70778f4eaa84bdcc0;p=sbcl.git diff --git a/src/code/sysmacs.lisp b/src/code/sysmacs.lisp index 1f9b8c8..dc1358e 100644 --- a/src/code/sysmacs.lisp +++ b/src/code/sysmacs.lisp @@ -23,8 +23,7 @@ #!+sb-thread `(locally (declare (optimize (safety 0) (speed 3))) - (sb!vm::fast-symbol-global-value-xadd ',symbol-name ,delta) - ,symbol-name)) + (sb!vm::locked-symbol-global-value-add ',symbol-name ,delta))) (defmacro without-gcing (&rest body) #!+sb-doc @@ -35,7 +34,7 @@ ,@body) (atomic-incf/symbol *gc-inhibit* -1) (when (and *need-to-collect-garbage* (zerop *gc-inhibit*)) - (maybe-gc nil)))) + (sub-gc)))) ;;; EOF-OR-LOSE is a useful macro that handles EOF.