Changeset 234
- Timestamp:
- Jan 7, 2004, 3:37:57 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/lisp-kernel/spentry.s (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/lisp-kernel/spentry.s
r170 r234 967 967 __(mr imm4,valptr) 968 968 5: 969 __(cmpwi cr0,keyword_flags,16<<fixnumshift) /* seen :a-o-k yet ? */ 969 970 __(lwzu arg_z,-4(valptr)) 970 971 __(lwzu arg_y,-4(valptr)) 971 972 __(cmpri(cr1,arg_y,nil_value)) 972 973 __(li arg_x,nrs.kallowotherkeys) 973 __(cmpr(cr0,arg_x,arg_z)) 974 /* cr6_eq <- (eq current-keyword :allow-other-keys) */ 975 __(cmpr(cr6,arg_x,arg_z)) 974 976 __(cmpr(cr7,valptr,limit)) 977 __(bne cr6,6f) 978 __(bge cr0,6f) /* Already seen :allow-other-keys */ 979 __(ori keyword_flags,keyword_flags,16<<fixnumshift) 975 980 __(beq cr1,6f) 976 __(bne cr0,6f)977 981 __(ori keyword_flags,keyword_flags,fixnum_one) 978 982 6: … … 999 1003 8: 1000 1004 __(bne cr1,7b) 1001 /* Unknown keyword. */ 1005 /* Unknown keyword. If it was :allow-other-keys, cr6_eq will still 1006 be set. */ 1007 __(beq cr6,9f) 1002 1008 __(ori keyword_flags,keyword_flags,2<<fixnumshift) 1003 1009 9: … … 3372 3378 __(_car(arg_x,arg_z)) 3373 3379 __(_cdr(arg_z,arg_z)) 3374 __(cmpri(cr2,arg_x,nil_value))3375 3380 __(cmpri(cr1,arg_z,nil_value)) 3376 __(beq cr2,2f) 3377 __(trap_unless_lisptag_equal(arg_x,tag_list,imm0)) 3381 __(trap_unless_fulltag_equal(arg_x,fulltag_cons,imm0)) 3378 3382 __(_car(temp0,arg_x)) 3379 3383 __(cmpr(temp0,arg_y))
Note:
See TracChangeset
for help on using the changeset viewer.
