Update of /project/movitz/cvsroot/movitz In directory common-lisp.net:/tmp/cvs-serv29728
Modified Files: storage-types.lisp Log Message: Cleaned up the unbound-value protocol a bit.
Date: Sat Apr 30 23:15:47 2005 Author: ffjeld
Index: movitz/storage-types.lisp diff -u movitz/storage-types.lisp:1.50 movitz/storage-types.lisp:1.51 --- movitz/storage-types.lisp:1.50 Sun Feb 27 03:31:34 2005 +++ movitz/storage-types.lisp Sat Apr 30 23:15:43 2005 @@ -9,7 +9,7 @@ ;;;; Created at: Sun Oct 22 00:22:43 2000 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: storage-types.lisp,v 1.50 2005/02/27 02:31:34 ffjeld Exp $ +;;;; $Id: storage-types.lisp,v 1.51 2005/04/30 21:15:43 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -151,11 +151,9 @@ (ecase type (word (cond - ((eq expr 'unbound) - (slot-value (image-run-time-context *image*) 'new-unbound-value)) - ((typep expr 'movitz-object) - (movitz-intern expr)) - (t (movitz-intern (movitz-read expr))))) + ((typep expr 'movitz-object) + (movitz-intern expr)) + (t (movitz-intern (movitz-read expr))))) (code-vector-word (movitz-intern-code-vector expr))))
@@ -533,6 +531,14 @@ (deftype movitz-string () '(satisfies movitz-stringp))
+;;; + +(define-binary-class movitz-unbound-value (movitz-immediate-object) + ()) + +(defmethod movitz-intern ((obj movitz-unbound-value) &optional type) + (declare (ignore type)) + #x7fffffff)
;;; Symbols