Changeset 9502


Ignore:
Timestamp:
May 15, 2008, 11:48:25 PM (11 years ago)
Author:
gb
Message:

Nargs is now a 32-bit register.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711-perf/ccl/level-0/X86/x86-def.lisp

    r9365 r9502  
    168168  (:arglist (fixnum &optional offset))
    169169  (check-nargs 1 2)
    170   (cmpw ($ x8664::fixnumone) (% nargs))
     170  (cmpw ($ x8664::fixnumone) (%w nargs))
    171171  (jne @2-args)
    172172  (movq (% offset) (% fixnum))
     
    180180  (:arglist (fixnum &optional offset))
    181181  (check-nargs 1 2)
    182   (cmpw ($ x8664::fixnumone) (% nargs))
     182  (cmpw ($ x8664::fixnumone) (%w nargs))
    183183  (jne @2-args)
    184184  (movq (% offset) (% fixnum))
     
    192192  (:arglist (fixnum offset &optional newval))
    193193  (check-nargs 2 3)
    194   (cmpw ($ '2) (% nargs))
     194  (cmpw ($ '2) (%w nargs))
    195195  (jne @3-args)
    196196  (movq (% offset) (% fixnum))
     
    207207  (check-nargs 2 3)
    208208  (save-simple-frame)
    209   (cmpw ($ '2) (% nargs))
     209  (cmpw ($ '2) (%w nargs))
    210210  (jne @3-args)
    211211  (movq (% offset) (% fixnum))
     
    357357  (set-nargs 0)
    358358  (movq (@ (% args)) (% imm0))          ;lexpr-count
    359   (movw (% imm0.w) (% nargs))
     359  (movw (% imm0.w) (%w nargs))
    360360  (leaq (@ x8664::node-size (% arg_z) (% imm0)) (% imm1))
    361361  (subw ($ '3) (% imm0.w))
     
    377377  (jmp @go)
    378378  @reg-only
    379   (testw (% nargs) (% nargs))
     379  (testw (%w nargs) (%w nargs))
    380380  (je @go)
    381   (rcmpw (% nargs) ($ '2))
     381  (rcmpw (%w nargs) ($ '2))
    382382  (je @two)
    383383  (jb @one)
     
    417417  (jne @loop)
    418418  @done
    419   (addw (% imm0.w) (% nargs))
     419  (addw (% imm0.w) (%w nargs))
    420420  (jne @pop)
    421421  @discard-and-go
     
    423423  (jmp @go)
    424424  @pop
    425   (cmpw ($ '1) (% nargs))
     425  (cmpw ($ '1) (%w nargs))
    426426  (pop (% arg_z))
    427427  (je @discard-and-go)
    428   (cmpw ($ '2) (% nargs))
     428  (cmpw ($ '2) (%w nargs))
    429429  (pop (% arg_y))
    430430  (je @discard-and-go)
    431   (cmpw ($ '3) (% nargs))
     431  (cmpw ($ '3) (%w nargs))
    432432  (pop (% arg_x))
    433433  (je @discard-and-go)
     
    455455  (movq (@ x8664::lisp-frame.return-address (% rbp)) (% ra0))
    456456  (movq (@ 0 (% rbp)) (% rbp))
    457   (rcmpw (% nargs) ($ '3))
     457  (rcmpw (%w nargs) ($ '3))
    458458  (jbe @pop-regs)
    459459  ;; More than 3 args; some must have been pushed by caller,
     
    465465  @pop-regs
    466466  (je @pop3)
    467   (rcmpw (% nargs) ($ '1))
     467  (rcmpw (%w nargs) ($ '1))
    468468  (jb @discard)
    469469  (ja @pop2)
     
    500500   (:arglist (function arg1 arg2 &rest other-args))
    501501   (check-nargs 3 nil)
    502    (cmpw ($ '3) (% nargs))
     502   (cmpw ($ '3) (%w nargs))
    503503   (pop (% ra0))
    504504   (ja @no-frame)
     
    509509   (movq (% arg_z) (% temp0))           ; last
    510510   (movq (% arg_y) (% arg_z))           ; butlast
    511    (subw ($ '2) (% nargs))              ; remove count for butlast & last
     511   (subw ($ '2) (%w nargs))              ; remove count for butlast & last
    512512   ;; Do .SPspreadargz inline here
    513513   (xorl (%l imm0) (%l imm0))
     
    528528   ;; nargs was at least 1 when we started spreading, and can't have gotten
    529529   ;; any smaller.
    530    (addw (%w imm0) (% nargs))
     530   (addw (%w imm0) (%w nargs))
    531531   (movq (% temp0) (% arg_z))
    532532   (pop (% arg_y))
    533533   (pop (% arg_x))
    534    (addw ($ '1) (% nargs))
    535    (cmpw ($ '3) (% nargs))
     534   (addw ($ '1) (%w nargs))
     535   (cmpw ($ '3) (%w nargs))
    536536   (jne @no-discard)
    537537   (discard-reserved-frame)
Note: See TracChangeset for help on using the changeset viewer.