0.7.7.20:
[sbcl.git] / src / compiler / x86 / nlx.lisp
index 0c2af51..a58827f 100644 (file)
@@ -18,7 +18,7 @@
    env))
 
 ;;; Make a TN for the argument count passing location for a non-local entry.
-(!def-vm-support-routine make-nlx-entry-argument-start-location ()
+(!def-vm-support-routine make-nlx-entry-arg-start-location ()
   (make-wired-tn *fixnum-primitive-type* any-reg-sc-number ebx-offset))
 
 (defun catch-block-ea (tn)
 ;;;;
 ;;;; These VOPs are used in the reentered function to restore the
 ;;;; appropriate dynamic environment. Currently we only save the
-;;;; Current-Catch, the eval stack pointer, and the alien stack
-;;;; pointer.
+;;;; Current-Catch and the alien stack pointer. (Before sbcl-0.7.0,
+;;;; when there were IR1 and byte interpreters, we had to save
+;;;; the interpreter "eval stack" too.)
 ;;;;
-;;;; We don't need to save/restore the current unwind-protect, since
-;;;; unwind-protects are implicitly processed during unwinding.
+;;;; We don't need to save/restore the current UNWIND-PROTECT, since
+;;;; UNWIND-PROTECTs are implicitly processed during unwinding.
 ;;;;
 ;;;; We don't need to save the BSP, because that is handled automatically.
 
-;;; Return a list of TNs that can be used to snapshot the dynamic state for
-;;; use with the Save/Restore-Dynamic-Environment VOPs.
+;;; Return a list of TNs that can be used to snapshot the dynamic
+;;; state for use with the SAVE- and RESTORE-DYNAMIC-ENVIRONMENT VOPs.
 (!def-vm-support-routine make-dynamic-state-tns ()
   (make-n-tns 3 *backend-t-primitive-type*))
 
 (define-vop (save-dynamic-state)
   (:results (catch :scs (descriptor-reg))
-           (eval :scs (descriptor-reg))
            (alien-stack :scs (descriptor-reg)))
   (:generator 13
     (load-symbol-value catch *current-catch-block*)
-    (load-symbol-value eval *eval-stack-top*)
     (load-symbol-value alien-stack *alien-stack*)))
 
 (define-vop (restore-dynamic-state)
   (:args (catch :scs (descriptor-reg))
-        (eval :scs (descriptor-reg))
         (alien-stack :scs (descriptor-reg)))
   (:generator 10
     (store-symbol-value catch *current-catch-block*)
-    (store-symbol-value eval *eval-stack-top*)
     (store-symbol-value alien-stack *alien-stack*)))
 
 (define-vop (current-stack-pointer)
     (storew (make-fixup nil :code-object entry-label)
            block catch-block-entry-pc-slot)))
 
-;;; Like Make-Unwind-Block, except that we also store in the specified tag, and
-;;; link the block into the Current-Catch list.
+;;; like MAKE-UNWIND-BLOCK, except that we also store in the specified
+;;; tag, and link the block into the CURRENT-CATCH list
 (define-vop (make-catch-block)
   (:args (tn)
-        (tag :scs (descriptor-reg) :to (:result 1)))
+        (tag :scs (any-reg descriptor-reg) :to (:result 1)))
   (:info entry-label)
   (:results (block :scs (any-reg)))
   (:temporary (:sc descriptor-reg) temp)