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)

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks