[movitz-cvs] CVS movitz
ffjeld
ffjeld at common-lisp.net
Sat Mar 15 20:45:22 UTC 2008
Update of /project/movitz/cvsroot/movitz
In directory clnet:/tmp/cvs-serv32704
Modified Files:
image.lisp
Log Message:
Minor tweaks.
--- /project/movitz/cvsroot/movitz/image.lisp 2008/02/24 12:13:06 1.116
+++ /project/movitz/cvsroot/movitz/image.lisp 2008/03/15 20:45:21 1.117
@@ -9,7 +9,7 @@
;;;; Created at: Sun Oct 22 00:22:43 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: image.lisp,v 1.116 2008/02/24 12:13:06 ffjeld Exp $
+;;;; $Id: image.lisp,v 1.117 2008/03/15 20:45:21 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -894,14 +894,13 @@
(unless (typep (movitz-env-named-function (car cf) nil)
'movitz-funobj)
(warn "Function ~S is called (in ~S) but not defined." (car cf) (cdr cf))))
- (maphash #'(lambda (symbol function-value)
- (let ((movitz-symbol (movitz-read symbol)))
- (if (typep function-value 'movitz-object)
- ;; (warn "SETTING ~A's funval to ~A"
- ;; movitz-symbol function-value)
- (setf (movitz-symbol-function-value movitz-symbol)
- function-value)
- #+ignore (warn "fv: ~W" (movitz-macro-expander-function function-value)))))
+ (maphash (lambda (symbol function-value)
+ (let ((movitz-symbol (movitz-read symbol)))
+ (etypecase function-value
+ (movitz-funobj
+ (setf (movitz-symbol-function-value movitz-symbol) function-value))
+ (movitz-macro
+ #+ignore (warn "fv: ~S ~S ~S" symbol function-value (movitz-env-get symbol :macro-expansion))))))
(movitz-environment-function-cells (image-global-environment *image*)))
(let ((run-time-context (image-run-time-context *image*)))
;; pull in functions in run-time-context
@@ -1169,12 +1168,18 @@
name symbol)
name)))
(ensure-package (package-name lisp-package &optional context)
- (assert (not (member (package-name lisp-package)
- #+allegro '(excl common-lisp sys aclmop)
- #-allegro '(common-lisp)
- :test #'string=)) ()
- "I don't think you really want to dump the package ~A ~@[for symbol ~S~] with Movitz."
- lisp-package context)
+ (restart-case (assert (not (member (package-name lisp-package)
+ '(common-lisp movitz
+ #+allegro excl
+ #+allegro sys
+ #+allegro aclmop
+ #+sbcl sb-ext)
+ :test #'string=)) ()
+ "I don't think you really want to dump the package ~A ~@[for symbol ~S~] with Movitz."
+ lisp-package context)
+ (use-muerte ()
+ :report "Substitute the muerte pacakge."
+ (return-from ensure-package (ensure-package :muerte (find-package :muerte)))))
(setf (gethash lisp-package lisp-to-movitz-package)
(or (gethash package-name packages-hash nil)
(let* ((nicks (mapcar #'movitz-package-name (package-nicknames lisp-package)))
@@ -1460,8 +1465,10 @@
(length (movitz-funobj-const-list funobj))
(movitz-funobj-const-list funobj)
(loop with pc = 0
- for (data . instruction) in (asm:disassemble-proglist code :symtab (movitz-funobj-symtab funobj)
- :collect-data t)
+ for (data . instruction) in (let ((asm-x86:*cpu-mode* :32-bit))
+ (asm:disassemble-proglist code
+ :symtab (movitz-funobj-symtab funobj)
+ :collect-data t))
when (assoc pc entry-points)
collect (list pc nil
(format nil " => Entry-point for ~D arguments <=" (cdr (assoc pc entry-points)))
More information about the Movitz-cvs
mailing list