[movitz-cvs] CVS movitz

ffjeld ffjeld at common-lisp.net
Sat Apr 12 16:46:49 UTC 2008


Update of /project/movitz/cvsroot/movitz
In directory clnet:/tmp/cvs-serv3853

Modified Files:
	asm-x86.lisp 
Log Message:
Allow t as a "catch all" operator for *instruction-compute-extra-prefix-map*.


--- /project/movitz/cvsroot/movitz/asm-x86.lisp	2008/03/06 19:14:39	1.37
+++ /project/movitz/cvsroot/movitz/asm-x86.lisp	2008/04/12 16:46:48	1.38
@@ -6,7 +6,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: asm-x86.lisp,v 1.37 2008/03/06 19:14:39 ffjeld Exp $
+;;;; $Id: asm-x86.lisp,v 1.38 2008/04/12 16:46:48 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -1050,9 +1050,11 @@
 
 
 (defun compute-extra-prefixes (operator pc size)
-  (let ((ff (assoc operator *instruction-compute-extra-prefix-map*)))
-    (when ff
-      (funcall (cdr ff) pc size))))
+  (loop for (pattern . function) in *instruction-compute-extra-prefix-map*
+     when (or (eq pattern t)
+	      (eq pattern operator))
+     return (funcall function pc size)))
+	      
 
 (defun encode-pc-rel (operator legacy-prefixes opcode operand type &rest extras)
   (when (typep operand '(or pc-relative-operand symbol-reference))




More information about the Movitz-cvs mailing list