0.8.13.47:
[sbcl.git] / src / compiler / x86 / call.lisp
index 5a8a202..42c8c85 100644 (file)
                 (inst pop ebp-tn))
 
                (t
-                (cerror "Continue any-way"
-                        "VOP return-local doesn't work if old-fp (in slot %s) is not in slot 0"
+                (cerror "Continue anyway"
+                        "VOP return-local doesn't work if old-fp (in slot ~
+                          ~S) is not in slot 0"
                         (tn-offset old-fp)))))
 
         ((any-reg descriptor-reg)
   (: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)
       (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.