[movitz-cvs] CVS movitz/losp/muerte
ffjeld
ffjeld at common-lisp.net
Wed Mar 21 20:20:12 UTC 2007
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory clnet:/tmp/cvs-serv29643
Modified Files:
segments.lisp
Log Message:
Add some without-check-stack-limit declarations, because these
operators are used by the stack-exhausted handler.
--- /project/movitz/cvsroot/movitz/losp/muerte/segments.lisp 2005/06/10 22:43:52 1.16
+++ /project/movitz/cvsroot/movitz/losp/muerte/segments.lisp 2007/03/21 20:20:12 1.17
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Thu May 8 14:25:06 2003
;;;;
-;;;; $Id: segments.lisp,v 1.16 2005/06/10 22:43:52 ffjeld Exp $
+;;;; $Id: segments.lisp,v 1.17 2007/03/21 20:20:12 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -22,6 +22,7 @@
(defun segment-register (segment-register-name)
"Return the value of an x86 segment register, such as :cs or :ds."
+ (declare (without-check-stack-limit))
(macrolet ((sreg (reg)
`(with-inline-assembly (:returns :untagged-fixnum-ecx)
(:xorl :ecx :ecx)
@@ -37,6 +38,7 @@
(defun (setf segment-register) (value segment-register-name)
"This function indiscriminately sets a segment register,
which is a great way to crash the machine. So know what you're doing."
+ (declare (without-check-stack-limit))
(check-type value (unsigned-byte 16))
(macrolet ((set-sreg (reg)
`(with-inline-assembly (:returns :nothing)
@@ -64,6 +66,7 @@
(defun %sgdt ()
"Return the location of the GDT, and the limit.
Error if the GDT location is not zero modulo 4."
+ (declare (without-check-stack-limit))
(eval-when (:compile-toplevel)
(assert (= 4 movitz:+movitz-fixnum-factor+)))
(without-interrupts
@@ -85,6 +88,7 @@
(defun %lgdt (base-location limit)
"Set the GDT according to base-location and limit.
This is the setter corresponding to the sgdt getter."
+ (declare (without-check-stack-limit))
(eval-when (:compile-toplevel)
(assert (= 4 movitz:+movitz-fixnum-factor+)))
(check-type base-location fixnum)
More information about the Movitz-cvs
mailing list