X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ffop.lisp;h=6b2809d136a56fa1f99664756a0073abe699e922;hb=95591ed483dbb8c0846c129953acac1554f28809;hp=655b6e9c2ef52025058d5fee64bcbb65562cb521;hpb=360bfcf8c91635f390dad7139dac4b7138cfa9b7;p=sbcl.git diff --git a/src/code/fop.lisp b/src/code/fop.lisp index 655b6e9..6b2809d 100644 --- a/src/code/fop.lisp +++ b/src/code/fop.lisp @@ -417,7 +417,8 @@ (dimensions () (cons (pop-stack) dimensions))) ((zerop i) dimensions) (declare (type index i))) - nil) + nil + t) res)) (define-fop (fop-single-float-vector 84) @@ -639,6 +640,17 @@ bug.~:@>") (name (pop-stack))) (setf (fdefinition name) fn))) +(define-fop (fop-note-debug-source 174 :pushp nil) + (warn "~@") + ;; as with COLD-FSET above, we are going to be lenient with coming + ;; across this fop in a warm SBCL. + (let ((debug-source (pop-stack))) + (setf (sb!c::debug-source-compiled debug-source) (get-universal-time) + (sb!c::debug-source-created debug-source) + (file-write-date (sb!c::debug-source-namestring debug-source))))) + ;;; Modify a slot in a CONSTANTS object. (define-cloned-fops (fop-alter-code 140 :pushp nil) (fop-byte-alter-code 141) (let ((value (pop-stack)) @@ -650,7 +662,7 @@ bug.~:@>") #+sb-xc-host ; since xc host doesn't know how to compile %PRIMITIVE (error "FOP-FUN-ENTRY can't be defined without %PRIMITIVE.") #-sb-xc-host - (let ((xrefs (pop-stack)) + (let ((info (pop-stack)) (type (pop-stack)) (arglist (pop-stack)) (name (pop-stack)) @@ -666,7 +678,7 @@ bug.~:@>") (setf (%simple-fun-name fun) name) (setf (%simple-fun-arglist fun) arglist) (setf (%simple-fun-type fun) type) - (setf (%simple-fun-xrefs fun) xrefs) + (setf (%simple-fun-info fun) info) ;; FIXME: See the comment about *LOAD-PRINT* in FOP-EVAL. #+nil (when *load-print* (load-fresh-line)