Changeset 8374 for branches/ia32/level-0


Ignore:
Timestamp:
Jan 30, 2008, 3:02:31 AM (12 years ago)
Author:
rme
Message:

Update LAP code to use a 32-bit %nargs.

Location:
branches/ia32/level-0/X86/X8632
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/level-0/X86/X8632/x8632-def.lisp

    r7963 r8374  
    9191  (:arglist (fixnum &optional offset))
    9292  (check-nargs 1 2)
    93   (cmpw ($ x8632::fixnumone) (% nargs))
     93  (cmpl ($ x8632::fixnumone) (% nargs))
    9494  (jne @2-args)
    9595  (movl (% offset) (% fixnum))
     
    103103  (:arglist (fixnum &optional offset))
    104104  (check-nargs 1 2)
    105   (cmpw ($ x8632::fixnumone) (% nargs))
     105  (cmpl ($ x8632::fixnumone) (% nargs))
    106106  (jne @2-args)
    107107  (movl (% offset) (% fixnum))
     
    116116  (check-nargs 2 3)
    117117  (movl (@ fixnum (% esp)) (% temp0))
    118   (cmpw ($ '2) (% nargs))
     118  (cmpl ($ '2) (% nargs))
    119119  (jne @3-args)
    120120  (movl (% offset) (% temp0))
     
    132132  (movl (@ fixnum (% esp)) (% temp0))
    133133  (save-simple-frame)
    134   (cmpw ($ '2) (% nargs))
     134  (cmpl ($ '2) (% nargs))
    135135  (jne @3-args)
    136136  (movl (% offset) (% temp0))
     
    391391  (movl (@ x8632::lisp-frame.return-address (% ebp)) (% temp0))
    392392  (movl (@ 0 (% ebp)) (% ebp))
    393   (rcmpw (% nargs) ($ '2))
     393  (rcmpl (% nargs) ($ '2))
    394394  (jbe @pop-regs)
    395395  ;; More than 2 args; some must have been pushed by caller,
     
    399399  (jmp @popped)
    400400  @pop-regs
    401   (rcmpw (% nargs) ($ '1))
     401  (rcmpl (% nargs) ($ '1))
    402402  (jb @discard)
    403403  (ja @pop2)
     
    431431   (movl (% arg_z) (% temp0))           ; last
    432432   (movl (% arg_y) (% arg_z))           ; butlast
    433    (subw ($ '2) (% nargs))              ; remove count for butlast & last
     433   (subl ($ '2) (% nargs))              ; remove count for butlast & last
    434434   (movd (% imm0) (% mm0))              ;save nargs (aka imm0) for later
    435435   ;; Do .SPspreadargz inline here
     
    457457   (movl (% temp0) (% arg_z))
    458458   (pop (% arg_y))
    459    (addw ($ '1) (% nargs))
     459   (addl ($ '1) (% nargs))
    460460   (load-constant funcall temp0)
    461461   (pushl (@ (% :rcontext) x8632::tcr.save0))   ;return address
  • branches/ia32/level-0/X86/X8632/x8632-utils.lisp

    r8077 r8374  
    127127;;; N.B. nargs is the same register as imm0
    128128(defx8632lapfunction true ()
    129   (movzwl (% nargs) (% imm0))
    130129  (subl ($ '2) (% imm0))
    131130  (leal (@ '2 (% esp) (% imm0)) (% imm0))
     
    135134
    136135(defx8632lapfunction false ()
    137   (movzwl (% nargs) (% imm0))
    138136  (subl ($ '2) (% imm0))
    139137  (leal (@ '2 (% esp) (% imm0)) (% imm0))
Note: See TracChangeset for help on using the changeset viewer.