X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ftn.lisp;h=a94c585b126706f02849ccc25f0625820ce85e58;hb=6753b552e912fae737ef2ee2b9fbc59c265ea941;hp=1f726963e24ae5e27371e5522dbc20d322fe7324;hpb=a98da03220d7345b066e4092285f0dfce55d9374;p=sbcl.git diff --git a/src/compiler/tn.lisp b/src/compiler/tn.lisp index 1f72696..a94c585 100644 --- a/src/compiler/tn.lisp +++ b/src/compiler/tn.lisp @@ -211,8 +211,10 @@ ;; However, in the case of USE-IMMED-P we can have the same TN for both ;; uses. The first two legs here take care of that by cross-pollinating the ;; cached values. - ((and use-immed-p boxedp (leaf-info constant))) - ((and use-immed-p (not boxedp) (constant-boxed-tn constant))) + ;; + ;; Similarly, when there is no immediate SC. + ((and (or use-immed-p (not immed)) boxedp (leaf-info constant))) + ((and (or use-immed-p (not immed)) (not boxedp) (constant-boxed-tn constant))) (t (let* ((component (component-info *component-being-compiled*)) (sc (svref *backend-sc-numbers*