Changeset 362
- Timestamp:
- Jan 22, 2004, 2:51:02 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/lisp-kernel/spentry.s (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/lisp-kernel/spentry.s
r296 r362 3290 3290 __(ldr(arg_z,vectorH.logsize(arg_z))) 3291 3291 __(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)) 3292 3: __(bne cr2,8f) 3293 __(li temp2,-1<<fixnum_shift) 3294 __(mr temp0,arg_z) ; fast pointer 3295 __(mr temp1,arg_z) ; slow pointer 3296 4: __(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)) 3300 3305 __(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) 3315 3308 __(_cdr(temp1,temp1)) 3316 __( addi temp2,temp2,2<<fixnumshift)3317 __(b 4b)3309 __(cmpr(cr0,temp0,temp1)) 3310 __(bne cr0,4b) 3318 3311 8: 3312 __(jump_builtin(_builtin_length,1)) 3313 9: 3319 3314 __(mr arg_z,temp2) 3320 3315 __(blr) 3321 9:3322 __(jump_builtin(_builtin_length,1))3323 3316 3324 3317 _spentry(builtin_seqtype)
Note:
See TracChangeset
for help on using the changeset viewer.
