X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fcall.lisp;h=42c8c85ca7ea27e9aada9ba7f8909ac3d6782361;hb=cf4cb9554515c59eddbde38d1cf236339c37f55f;hp=fa1c56da1fe7885a6a92430989bde2bb575fc542;hpb=b953c186cfe68e48801cb54715da0120c9580888;p=sbcl.git diff --git a/src/compiler/x86/call.lisp b/src/compiler/x86/call.lisp index fa1c56d..42c8c85 100644 --- a/src/compiler/x86/call.lisp +++ b/src/compiler/x86/call.lisp @@ -1265,7 +1265,8 @@ (:policy :safe) (:args (context :scs (descriptor-reg) :target src) (count :scs (any-reg) :target ecx)) - (:arg-types * tagged-num) + (:info *dynamic-extent*) + (:arg-types * tagged-num (:constant t)) (:temporary (:sc unsigned-reg :offset esi-offset :from (:argument 0)) src) (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 1)) ecx) (:temporary (:sc unsigned-reg :offset eax-offset) eax) @@ -1283,7 +1284,7 @@ (inst jecxz done) (inst lea dst (make-ea :dword :index ecx :scale 2)) (pseudo-atomic - (allocation dst dst node) + (allocation dst dst node *dynamic-extent*) (inst lea dst (make-ea :byte :base dst :disp list-pointer-lowtag)) ;; Convert the count into a raw value, so that we can use the ;; LOOP instruction.