Changeset 362


Ignore:
Timestamp:
Jan 22, 2004, 2:51:02 AM (21 years ago)
Author:
Gary Byers
Message:

Try to un-botch SPbuiltin_length, for about the third time in a week.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/spentry.s

    r296 r362  
    32903290        __(ldr(arg_z,vectorH.logsize(arg_z)))
    32913291        __(blr)
    3292 3:      __(bne cr2,9f)
    3293         __(li temp2,0)
    3294         __(mr temp0,arg_z)
    3295         __(mr temp1,arg_z)
    3296 4:      __(cmpri(cr7,temp0,nil_value))
    3297         __(extract_lisptag(imm0,temp0))
    3298         __(extract_lisptag(imm1,temp1))
    3299         __(cmpri(cr0,imm0,tag_list))
     32923:      __(bne cr2,8f)
     3293        __(li temp2,-1<<fixnum_shift)
     3294        __(mr temp0,arg_z)      ; fast pointer
     3295        __(mr temp1,arg_z)      ; slow pointer
     32964:      __(extract_lisptag(imm0,temp0))
     3297        __(cmpri(cr7,temp0,nil_value))
     3298        __(cmpri(cr1,imm0,tag_list))
     3299        __(addi temp2,temp2,fixnum_one)
     3300        __(beq cr7,9f)
     3301        __(andi. imm0,temp2,1<<fixnum_shift)
     3302        __(bne cr1,8f)
     3303        __(extract_lisptag(imm1,temp1))
     3304        __(_cdr(temp0,temp0))
    33003305        __(cmpri(cr1,imm1,tag_list))
    3301         __(beq cr7,8f)
    3302         __(bne cr0,9f)
    3303         __(_cdr(temp3,temp0))
    3304         __(bne cr1,9f)
    3305         __(cmpri(cr4,temp2,0))
    3306         __(cmpri(cr3,temp3,nil_value))
    3307         __(extract_lisptag(imm0,temp3))
    3308         __(cmpr(cr5,temp0,temp1))
    3309         __(bne cr3,5f)
    3310         __(addi arg_z,temp2,fixnumone)
    3311         __(blr)
    3312 5:      __(bne cr5,6f)
    3313         __(bne cr4,9f)
    3314 6:      __(_cdr(temp0,temp3))   
     3306        __(beq cr0,4b)
     3307        __(bne cr1,8f)
    33153308        __(_cdr(temp1,temp1))
    3316         __(addi temp2,temp2,2<<fixnumshift)
    3317         __(b 4b)
     3309        __(cmpr(cr0,temp0,temp1))
     3310        __(bne cr0,4b)
    331833118:     
     3312        __(jump_builtin(_builtin_length,1))
     33139:     
    33193314        __(mr arg_z,temp2)
    33203315        __(blr)
    3321 9:     
    3322         __(jump_builtin(_builtin_length,1))
    33233316
    33243317_spentry(builtin_seqtype)
Note: See TracChangeset for help on using the changeset viewer.