Changeset 11152


Ignore:
Timestamp:
Oct 18, 2008, 8:36:09 AM (11 years ago)
Author:
gb
Message:

Stack-discipline issues with %FIXNUM-SET, %FIXNUM-SET-NATURAL.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-0/X86/X8632/x8632-def.lisp

    r10959 r11152  
    172172  (:arglist (fixnum offset &optional newval))
    173173  (check-nargs 2 3)
    174   (movl (@ fixnum (% esp)) (% temp0))
    175174  (cmpl ($ '2) (% nargs))
    176175  (jne @3-args)
    177   (movl (% offset) (% temp0))
    178   (xorl (%l offset) (%l offset))
     176  (movl (% new-value) (% offset))
     177  (single-value-return)
    179178  @3-args
     179  (movl (@ fixnum (% esp)) (% temp0))
    180180  (unbox-fixnum offset imm0)
    181181  (movl (% new-value) (@ (% temp0) (% imm0)))
    182   (movl (% new-value) (% arg_z))
    183182  (single-value-return 3))
    184183
    185184
    186185(defx8632lapfunction %fixnum-set-natural ((fixnum 4) #|(ra 0)|# (offset arg_y) #| &optional |# (new-value arg_z))
    187   (:arglist (fixnum offset &optional newval))
     186  (:arglist (fixnum offsnet &optional newval))
    188187  (check-nargs 2 3)
    189   (movl (@ fixnum (% esp)) (% temp0))
    190   (save-simple-frame)
    191188  (cmpl ($ '2) (% nargs))
    192189  (jne @3-args)
     190  (save-simple-frame)
    193191  (movl (% offset) (% temp0))
    194   (xorl (%l offset) (%l offset))
     192  (xorl (% offset) (% offset))
     193  (jmp @common)
    195194  @3-args
     195  (movl (% ebp) (@ 8 (% esp)))
     196  (lea (@ 8 (% esp)) (% ebp))
     197  (popl (@ 4 (% ebp)))
     198  (popl (% temp0))
     199  @common
    196200  (call-subprim .SPgetu32)              ;puts u32 in imm0
    197201  (mark-as-imm temp1)
     
    200204  (mark-as-node temp1)
    201205  (restore-simple-frame)
    202   (single-value-return 3))
     206  (single-value-return))
    203207
    204208
Note: See TracChangeset for help on using the changeset viewer.