1.0.6.56: replace CALL-WITH-DX-FUNCTION with DX-FLET
[sbcl.git] / src / code / cross-misc.lisp
index 67e730b..0f68d1d 100644 (file)
 ;;; may then have to wade through some irrelevant warnings).
 (declaim (declaration inhibit-warnings))
 
+;;; We sometimes want to enable DX unconditionally in our own code,
+;;; but the host can ignore this without harm.
+(declaim (declaration sb!c::stack-allocate-dynamic-extent))
+
 ;;; Interrupt control isn't an issue in the cross-compiler: we don't
 ;;; use address-dependent (and thus GC-dependent) hashes, and we only
 ;;; have a single thread of control.
 (defmacro without-interrupts (&rest forms)
-  `(progn ,@forms))
+  `(macrolet ((allow-with-interrupts (&body body)
+                `(progn ,@body))
+              (with-local-interrupts (&body body)
+                `(progn ,@body)))
+     ,@forms))
 
 ;;; The GENESIS function works with fasl code which would, in the
 ;;; target SBCL, work on ANSI-STREAMs (streams which aren't extended