X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fcode%2Ftarget-type.lisp;h=91757e65a38ed0c2a2a856faa2081fe1829bdf8f;hb=31361af9eb64344f521abbb245ea784c76c746e5;hp=0a9e0680e4fef14fab95f94a6641155a9a99ac5d;hpb=334af30b26555f0bf706f7157b399bdbd4fad548;p=sbcl.git diff --git a/src/code/target-type.lisp b/src/code/target-type.lisp index 0a9e068..91757e6 100644 --- a/src/code/target-type.lisp +++ b/src/code/target-type.lisp @@ -128,13 +128,15 @@ ;;; Pull the type specifier out of a function object. (defun extract-function-type (fun) - (if (sb!eval:interpreted-function-p fun) - (sb!eval:interpreted-function-type fun) - (typecase fun - (byte-function (byte-function-type fun)) - (byte-closure (byte-function-type (byte-closure-function fun))) + (cond #!+sb-interpreter + ((sb!eval:interpreted-function-p fun) + (sb!eval:interpreted-function-type fun)) (t - (specifier-type (%function-type (%closure-function fun))))))) + (typecase fun + (byte-function (byte-function-type fun)) + (byte-closure (byte-function-type (byte-closure-function fun))) + (t + (specifier-type (%function-type (%closure-function fun)))))))) ;;;; miscellaneous interfaces