X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fvalues.lisp;h=55cbe21959e718b95289a17521566c6aff0f15c1;hb=bcbcc0d0660b3b3741203b3dfdd3443b201bf690;hp=c73f597609d8fb71769a9c173f11ff53a2634c22;hpb=adf0d51d2bde8b723276bacf94641df9aa5ae561;p=sbcl.git diff --git a/src/compiler/x86/values.lisp b/src/compiler/x86/values.lisp index c73f597..55cbe21 100644 --- a/src/compiler/x86/values.lisp +++ b/src/compiler/x86/values.lisp @@ -11,9 +11,6 @@ (in-package "SB!VM") -(file-comment - "$Header$") - (define-vop (reset-stack-pointer) (:args (ptr :scs (any-reg))) (:generator 1 @@ -60,13 +57,13 @@ LOOP (inst cmp list nil-temp) (inst jmp :e done) - (pushw list cons-car-slot list-pointer-type) - (loadw list list cons-cdr-slot list-pointer-type) + (pushw list cons-car-slot list-pointer-lowtag) + (loadw list list cons-cdr-slot list-pointer-lowtag) (inst mov eax list) (inst and al-tn lowtag-mask) - (inst cmp al-tn list-pointer-type) + (inst cmp al-tn list-pointer-lowtag) (inst jmp :e loop) - (error-call vop bogus-argument-to-values-list-error list) + (error-call vop bogus-arg-to-values-list-error list) DONE (inst mov count start) ; start is high address @@ -98,9 +95,10 @@ (move count num)) (t (inst lea src (make-ea :dword :base context - :disp (- (* (tn-value skip) word-bytes)))) + :disp (- (* (tn-value skip) + n-word-bytes)))) (move count num) - (inst sub count (* (tn-value skip) word-bytes))))) + (inst sub count (* (tn-value skip) n-word-bytes))))) (any-reg (move src context)