0.pre7.38:
[sbcl.git] / src / code / byte-interp.lisp
index 0895e5f..563b66c 100644 (file)
@@ -1,5 +1,6 @@
 ;;;; the byte code interpreter
 
+;;; FIXME: should really be in SB!BYTECODE
 (in-package "SB!C")
 
 ;;;; This software is part of the SBCL system. See the README file for
 (defun two-arg-string< (x y) (string= x y))
 (defun two-arg-string> (x y) (string= x y))
 \f
-;;;; miscellaneous primitive stubs
-
-(macrolet ((def-frob (name &optional (args '(x)))
-            `(defun ,name ,args (,name ,@args))))
-  (def-frob %code-code-size)
-  (def-frob %code-debug-info)
-  (def-frob %code-entry-points)
-  (def-frob %funcallable-instance-function)
-  (def-frob %funcallable-instance-layout)
-  (def-frob %funcallable-instance-lexenv)
-  (def-frob %function-next)
-  (def-frob %function-self)
-  (def-frob %set-funcallable-instance-function (fin new-val)))
-\f
 ;;;; funny functions
 
 ;;; (used both by the byte interpreter and by the IR1 interpreter)
        (if (typep type 'structure-class)
            (let ((info (layout-info (class-layout type))))
              (if (and info (eq (dd-type info) 'structure))
-                 (let ((pred (dd-predicate info)))
-                   (if (and pred (fboundp pred))
-                       (fdefinition pred)
+                 (let ((predicate-name (dd-predicate-name info)))
+                   (if (and predicate-name (fboundp predicate-name))
+                       (fdefinition predicate-name)
                        type))
                  type))
            type))))