Changeset 7991


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

Update %aset2, %aref3, and %aset3 to take account of the return
address on the stack.

It's not easy for these functions to get called, but they shouldn't
just sit around being wrong.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-0/X86/x86-array.lisp

    r6476 r7991  
    217217  (jmp-subprim .SParef2))
    218218
    219 (defx86lapfunction %aref3 ((array 0) (i arg_x) (j arg_y) (k arg_z))
     219(defx86lapfunction %aref3 ((array 8) #|(ra 0)|# (i arg_x) (j arg_y) (k arg_z))
    220220  (check-nargs 4)
     221  (pop (% ra0))
    221222  (pop (% temp0))
    222223  (discard-reserved-frame)
     224  (push (% ra0))
    223225  (jmp-subprim .SParef3))
    224226
    225 (defx86lapfunction %aset2 ((array 0) (i arg_x) (j arg_y) (newval arg_z))
     227(defx86lapfunction %aset2 ((array 8) #|(ra 0)|# (i arg_x) (j arg_y) (newval arg_z))
    226228  (check-nargs 4)
     229  (pop (% ra0))
    227230  (pop (% temp0))
    228231  (discard-reserved-frame)
     232  (push (% ra0))
    229233  (jmp-subprim .SPaset2))
    230234
    231 (defx86lapfunction %aset3 ((array 8) (i 0) (j arg_x) (k arg_y) (newval arg_z))
     235(defx86lapfunction %aset3 ((array 16) (i 8) #|(ra 0)|# (j arg_x) (k arg_y) (newval arg_z))
    232236  (check-nargs 5)
     237  (pop (% ra0))
    233238  (pop (% temp0))
    234239  (pop (% temp1))
    235240  (discard-reserved-frame)
     241  (push (% ra0))
    236242  (jmp-subprim .SPaset3))
    237243
    238 
    239 
    240 
    241 
    242  
    243 
Note: See TracChangeset for help on using the changeset viewer.