1.0.28.28: delete %RAW-BITS and %SET-RAW-BITS
[sbcl.git] / src / compiler / x86 / nlx.lisp
index 07d4032..96d2ca4 100644 (file)
                    (storew edx-tn ebx-tn -1))
                  (sc-case tn
                    ((descriptor-reg any-reg)
-                    (loadw tn start (frame-word-offset i)))
+                    (loadw tn start (frame-word-offset (+ sp->fp-offset i))))
                    ((control-stack)
-                    (loadw move-temp start (frame-word-offset i))
+                    (loadw move-temp start
+                           (frame-word-offset (+ sp->fp-offset i)))
                     (inst mov tn move-temp)))))
              (let ((defaulting-done (gen-label)))
                (emit-label defaulting-done)
 
     ;; Clear the stack
     (inst lea esp-tn
-          (make-ea :dword :base ebp-tn :disp (* -3 n-word-bytes)))
+          (make-ea :dword :base ebp-tn
+                   :disp (* (- sp->fp-offset 3) n-word-bytes)))
 
     ;; Push the return-pc so it looks like we just called.
     (pushw ebp-tn (frame-word-offset return-pc-save-offset))