Changeset 8372 for branches/ia32/level-0


Ignore:
Timestamp:
Jan 30, 2008, 2:17:07 AM (12 years ago)
Author:
rme
Message:

Merged changes 7685:8261 from branches/1.1/ccl.

Location:
branches/ia32/level-0
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/level-0/X86/x86-array.lisp

    r8366 r8372  
    220220  (jmp-subprim .SParef2))
    221221
    222 (defx86lapfunction %aref3 ((array 0) (i arg_x) (j arg_y) (k arg_z))
     222(defx86lapfunction %aref3 ((array 8) #|(ra 0)|# (i arg_x) (j arg_y) (k arg_z))
    223223  (check-nargs 4)
     224  (pop (% ra0))
    224225  (pop (% temp0))
    225226  (discard-reserved-frame)
     227  (push (% ra0))
    226228  (jmp-subprim .SParef3))
    227229
    228 (defx86lapfunction %aset2 ((array 0) (i arg_x) (j arg_y) (newval arg_z))
     230(defx86lapfunction %aset2 ((array 8) #|(ra 0)|# (i arg_x) (j arg_y) (newval arg_z))
    229231  (check-nargs 4)
     232  (pop (% ra0))
    230233  (pop (% temp0))
    231234  (discard-reserved-frame)
     235  (push (% ra0))
    232236  (jmp-subprim .SPaset2))
    233237
    234 (defx86lapfunction %aset3 ((array 8) (i 0) (j arg_x) (k arg_y) (newval arg_z))
     238(defx86lapfunction %aset3 ((array 16) (i 8) #|(ra 0)|# (j arg_x) (k arg_y) (newval arg_z))
    235239  (check-nargs 5)
     240  (pop (% ra0))
    236241  (pop (% temp0))
    237242  (pop (% temp1))
    238243  (discard-reserved-frame)
     244  (push (% ra0))
    239245  (jmp-subprim .SPaset3))
    240246
    241 
    242 
    243 
    244 
    245  
    246 
    247247)  ; #+x8664-target
     248
  • branches/ia32/level-0/X86/x86-io.lisp

    r8366 r8372  
    2626  (movq (@ (% :rcontext) x8664::tcr.errno-loc) (% imm1))
    2727  (movslq (@ (% imm1)) (% imm0))
    28   (movss (% fp0) (@ (% imm1)))
     28  (movss (% fpzero) (@ (% imm1)))
    2929  (negq (% imm0))
    3030  (box-fixnum imm0 arg_z)
  • branches/ia32/level-0/X86/x86-misc.lisp

    r8366 r8372  
    255255  (trap-unless-typecode= ptr x8664::subtag-macptr)
    256256  (call-subprim .SPgetu64)
    257   (macptr-ptr ptr ptr)
     257  (macptr-ptr ptr imm2)
    258258  (unbox-fixnum offset imm1)
    259   (movq (% imm0) (@ (% ptr) (% imm1)))
     259  (movq (% imm0) (@ (% imm2) (% imm1)))
    260260  (restore-simple-frame)
    261261  (single-value-return))
     
    268268  (trap-unless-typecode= ptr x8664::subtag-macptr)
    269269  (call-subprim .SPgets64)
    270   (macptr-ptr ptr ptr)
     270  (macptr-ptr ptr imm2)
    271271  (unbox-fixnum offset imm1)
    272   (movq (% imm0) (@ (% ptr) (% imm1)))
     272  (movq (% imm0) (@ (% imm2) (% imm1)))
    273273  (restore-simple-frame)
    274274  (single-value-return))
     
    450450
    451451(defx86lapfunction %atomic-incf-ptr ((ptr arg_z))
    452   (macptr-ptr ptr ptr)
    453   @again
    454   (movq (@ (% ptr)) (% rax))
     452  (macptr-ptr ptr imm2)
     453  @again
     454  (movq (@ (% imm2)) (% rax))
    455455  (lea (@ 1 (% rax)) (% imm1))
    456456  (lock)
    457   (cmpxchgq (% imm1) (@ (% ptr)))
     457  (cmpxchgq (% imm1) (@ (% imm2)))
    458458  (jne @again)
    459459  (box-fixnum imm1 arg_z)
     
    461461
    462462(defx86lapfunction %atomic-incf-ptr-by ((ptr arg_y) (by arg_z))
    463   (macptr-ptr ptr ptr)
    464   @again
    465   (movq (@ (% ptr)) (% rax))
     463  (macptr-ptr ptr imm2)
     464  @again
     465  (movq (@ (% imm2)) (% rax))
    466466  (unbox-fixnum by imm1)
    467467  (add (% rax) (% imm1))
    468468  (lock)
    469   (cmpxchgq (% imm1) (@ (% ptr)))
     469  (cmpxchgq (% imm1) (@ (% imm2)))
    470470  (jnz @again)
    471471  (box-fixnum imm1 arg_z)
     
    474474
    475475(defx86lapfunction %atomic-decf-ptr ((ptr arg_z))
    476   (macptr-ptr ptr ptr)
    477   @again
    478   (movq (@ (% ptr)) (% rax))
     476  (macptr-ptr ptr imm2)
     477  @again
     478  (movq (@ (% imm2)) (% rax))
    479479  (lea (@ -1 (% rax)) (% imm1))
    480480  (lock)
    481   (cmpxchgq (% imm1) (@ (% ptr)))
     481  (cmpxchgq (% imm1) (@ (% imm2)))
    482482  (jnz @again)
    483483  (box-fixnum imm1 arg_z)
     
    485485
    486486(defx86lapfunction %atomic-decf-ptr-if-positive ((ptr arg_z))
    487   (macptr-ptr ptr ptr)                  ;must be fixnum-aligned
    488   @again
    489   (movq (@ (% ptr)) (% rax))
     487  (macptr-ptr ptr imm2)
     488  @again
     489  (movq (@ (% imm2)) (% rax))
    490490  (testq (% rax) (% rax))
    491491  (lea (@ -1 (% rax)) (% imm1))
    492492  (jz @done)
    493493  (lock)
    494   (cmpxchgq (% imm1) (@ (% ptr)))
     494  (cmpxchgq (% imm1) (@ (% imm2)))
    495495  (jnz @again)
    496496  @done
     
    510510;;; was equal to OLDVAL.  Return the old value
    511511(defx86lapfunction %ptr-store-conditional ((ptr arg_x) (expected-oldval arg_y) (newval arg_z))
    512   (macptr-ptr ptr ptr)                  ;  must be fixnum-aligned
    513   @again
    514   (movq (@ (% ptr)) (% imm0))
     512  (macptr-ptr ptr imm2)
     513  @again
     514  (movq (@ (% imm2)) (% imm0))
    515515  (box-fixnum imm0 temp0)
    516516  (cmpq (% temp0) (% expected-oldval))
     
    518518  (unbox-fixnum newval imm1)
    519519  (lock)
    520   (cmpxchgq (% imm1) (@ (% ptr)))
     520  (cmpxchgq (% imm1) (@ (% imm2)))
    521521  (jne @again)
    522522  @done
  • branches/ia32/level-0/l0-init.lisp

    r7666 r8372  
    6868    #+darwinppc-target :darwinppc-target
    6969    #+darwinppc-target :darwinppc-host
    70     #+darwinppc-target :darwin
    7170    #+darwinppc-target :darwin-target
    7271    #+freebsd-target :freebsd-host
     
    9190    #+x86-target :little-endian-target
    9291    #+x86-target :little-endian-host
     92    #+darwin-target :darwin
     93    #+linux-target :linux
     94    #+freebsd-target :freebsd
    9395    :mcl                                ;deprecated
    9496    )
Note: See TracChangeset for help on using the changeset viewer.