X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Falloc.lisp;h=3a5624c917102cccbf23a7dc9bd34b972d0004ec;hb=079ef9dad558ca07cb8178ef428bf738112174fa;hp=bc7de22b1b612fea746dc8a19a89b313b0926ccb;hpb=4ebdc81b1a9c6dbed6e98b112afc8dd32b17a2dd;p=sbcl.git diff --git a/src/compiler/x86-64/alloc.lisp b/src/compiler/x86-64/alloc.lisp index bc7de22..3a5624c 100644 --- a/src/compiler/x86-64/alloc.lisp +++ b/src/compiler/x86-64/alloc.lisp @@ -110,7 +110,8 @@ (define-vop (make-closure) (:args (function :to :save :scs (descriptor-reg))) - (:info length) + (:info length stack-allocate-p) + (:ignore stack-allocate-p) (:temporary (:sc any-reg) temp) (:results (result :scs (descriptor-reg))) (:node-var node) @@ -172,7 +173,7 @@ (inst lea bytes (make-ea :qword :base extra :disp (* (1+ words) n-word-bytes))) (inst mov header bytes) - (inst shl header (- n-widetag-bits 2)) ; w+1 to length field + (inst shl header (- n-widetag-bits 3)) ; w+1 to length field (inst lea header ; (w-1 << 8) | type (make-ea :qword :base header :disp (+ (ash -2 n-widetag-bits) type))) (inst and bytes (lognot lowtag-mask))