;;;; files for more information.
(in-package "SB!VM")
-
-(file-comment
- "$Header$")
\f
;;;; RETURN-MULTIPLE
;; Handle the register arg cases.
ZERO-VALUES
(move esp-tn ebx)
- (inst mov edx *nil-value*)
+ (inst mov edx nil-value)
(inst mov edi edx)
(inst mov esi edx)
(inst jmp eax)
TWO-VALUES
(loadw edx esi -1)
(loadw edi esi -2)
- (inst mov esi *nil-value*)
+ (inst mov esi nil-value)
(inst lea esp-tn (make-ea :dword :base ebx :disp (* -2 word-bytes)))
(inst jmp eax)
;; And jump into the function.
(inst jmp
(make-ea :byte :base eax
- :disp (- (* closure-function-slot word-bytes)
- function-pointer-type)))
+ :disp (- (* closure-fun-slot word-bytes)
+ fun-pointer-lowtag)))
;; All the arguments fit in registers, so load them.
REGISTER-ARGS
;; And away we go.
(inst jmp (make-ea :byte :base eax
- :disp (- (* closure-function-slot word-bytes)
- function-pointer-type))))
+ :disp (- (* closure-fun-slot word-bytes)
+ fun-pointer-lowtag))))
\f
(define-assembly-routine (throw
(:return-style :none))
(declare (ignore start count))
- (load-symbol-value catch sb!impl::*current-catch-block*)
+ (load-symbol-value catch *current-catch-block*)
LOOP
(inst or block block) ; check for NULL pointer
(inst jmp :z error))
- (load-symbol-value uwp sb!impl::*current-unwind-protect-block*)
+ (load-symbol-value uwp *current-unwind-protect-block*)
;; Does *cuwpb* match value stored in argument cuwp slot?
(inst cmp uwp
;; If a match, return to context in arg block.
(inst jmp :e do-exit)
- ;; Not a match - return to *current-unwind-protect-block* context.
+ ;; Not a match - return to *CURRENT-UNWIND-PROTECT-BLOCK* context.
;; Important! Must save (and return) the arg 'block' for later use!!
(move edx-tn block)
(move block uwp)
;; Set next unwind protect context.
(loadw uwp uwp unwind-block-current-uwp-slot)
- (store-symbol-value uwp sb!impl::*current-unwind-protect-block*)
+ (store-symbol-value uwp *current-unwind-protect-block*)
DO-EXIT