Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


Diff of /src/compiler/meta-vmdef.lisp [220651] .. [953e29] Maximize Restore

  Switch to side-by-side view

--- a/src/compiler/meta-vmdef.lisp
+++ b/src/compiler/meta-vmdef.lisp
@@ -1407,14 +1407,18 @@
         ((symbolp type)
          ``(:or ,(primitive-type-or-lose ',type)))
-         (ecase (first type)
+         (ecase (car type)
             ``(:or ,,@(mapcar (lambda (type)
                                 `(primitive-type-or-lose ',type))
                               (rest type))))
             ``(:constant ,#'(lambda (x)
-                              (sb!xc:typep x ',(second type)))
+                              ;; Can't handle SATISFIES during XC
+                              ,(if (and (consp (second type))
+                                        (eq (caadr type) 'satisfies))
+                                   `(,(cadadr type) x)
+                                   `(sb!xc:typep x ',(second type))))
                          ,',(second type)))))))
 (defun specify-operand-types (types ops more-ops)