X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ftn.lisp;h=e0b6a2640a69eb47372ef4687f1ded203ad31ae2;hb=b767eae48831153473226b985511c8f7a3ef98c5;hp=e0eb8f412ab7c21d32227864446f31e015585dc9;hpb=f9d6d21a7f54638292214ceb9886edc03b99d545;p=sbcl.git diff --git a/src/compiler/tn.lisp b/src/compiler/tn.lisp index e0eb8f4..e0b6a26 100644 --- a/src/compiler/tn.lisp +++ b/src/compiler/tn.lisp @@ -16,10 +16,10 @@ ;;; in this component. (defvar *component-being-compiled*) +;;; Do-Packed-TNs (TN-Var Component [Result]) Declaration* Form* +;;; +;;; Iterate over all packed TNs allocated in Component. (defmacro do-packed-tns ((tn component &optional result) &body body) - #!+sb-doc - "Do-Packed-TNs (TN-Var Component [Result]) Declaration* Form* - Iterate over all packed TNs allocated in Component." (let ((n-component (gensym))) `(let ((,n-component (component-info ,component))) (do ((,tn (ir2-component-normal-tns ,n-component) (tn-next ,tn))) @@ -33,10 +33,10 @@ ,result) ,@body)))) -;;; Remove all TNs with no references from the lists of unpacked TNs. We -;;; null out the Offset so that nobody will mistake deleted wired TNs for -;;; properly packed TNs. We mark non-deleted alias TNs so that aliased TNs -;;; aren't considered to be unreferenced. +;;; Remove all TNs with no references from the lists of unpacked TNs. +;;; We null out the Offset so that nobody will mistake deleted wired +;;; TNs for properly packed TNs. We mark non-deleted alias TNs so that +;;; aliased TNs aren't considered to be unreferenced. (defun delete-unreferenced-tns (component) (let* ((2comp (component-info component)) (aliases (make-array (1+ (ir2-component-global-tn-counter 2comp)) @@ -314,7 +314,7 @@ (insert-vop-sequence first last block before) last))) -;;; Like EMIT-MOVE-TEMPLATE, except that we pass in Info args too. +;;; like EMIT-MOVE-TEMPLATE, except that we pass in INFO args too (defun emit-load-template (node block template x y info &optional before) (declare (type node node) (type ir2-block block) (type template template) (type tn x y)) @@ -326,7 +326,7 @@ (insert-vop-sequence first last block before) last))) -;;; Like EMIT-MOVE-TEMPLATE, except that the VOP takes two args. +;;; like EMIT-MOVE-TEMPLATE, except that the VOP takes two args (defun emit-move-arg-template (node block template x f y &optional before) (declare (type node node) (type ir2-block block) (type template template) (type tn x f y)) @@ -340,7 +340,7 @@ (insert-vop-sequence first last block before) last))) -;;; Like EMIT-MOVE-TEMPLATE, except that the VOP takes no args. +;;; like EMIT-MOVE-TEMPLATE, except that the VOP takes no args (defun emit-context-template (node block template y &optional before) (declare (type node node) (type ir2-block block) (type template template) (type tn y))