X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fvmdef.lisp;h=adf60b63b1525580f6399c0f8cec97b032fce099;hb=8900bab84deb87a7e2a039db7ecb224bcf871708;hp=a52b0f7f8fcff306abe547720ae3e28300741b46;hpb=092fae0666f1472c919b8ecf1a011d3869c0c6a5;p=sbcl.git diff --git a/src/compiler/vmdef.lisp b/src/compiler/vmdef.lisp index a52b0f7..adf60b6 100644 --- a/src/compiler/vmdef.lisp +++ b/src/compiler/vmdef.lisp @@ -114,18 +114,15 @@ (def!constant sc-bits (integer-length (1- sc-number-limit))) -;; a function that emits the VOPs for this template. Arguments: -;; 1] Node for source context. -;; 2] IR2-BLOCK that we place the VOP in. -;; 3] This structure. -;; 4] Head of argument TN-REF list. -;; 5] Head of result TN-REF list. -;; 6] If INFO-ARG-COUNT is non-zero, then a list of the magic -;; arguments. -;; -;; Two values are returned: the first and last VOP emitted. This vop -;; sequence must be linked into the VOP Next/Prev chain for the -;; block. At least one VOP is always emitted. +;;; Emit a VOP for TEMPLATE. Arguments: +;;; NODE Node for source context. +;;; BLOCK IR2-BLOCK that we place the VOP in. +;;; TEMPLATE: VOP template +;;; ARGS Head of argument TN-REF list. +;;; RESULT Head of result TN-REF list. +;;; INFO If INFO-ARG-COUNT is non-zero, then a list of the magic arguments. +;;; +;;; Return the emitted vop (defun emit-vop (node block template args results &optional info) (let* ((vop (make-vop block node template args results)) (num-args (vop-info-num-args template)) @@ -195,7 +192,7 @@ (target-if-desirable (aref refs (ldb (byte 8 8) target)) (aref refs (ldb (byte 8 0) target))))))) - (values vop vop)) + vop) (fill *vop-tn-refs* nil)))) ;;;; function translation stuff