Changeset 14075


Ignore:
Timestamp:
Jul 28, 2010, 12:57:49 PM (9 years ago)
Author:
gb
Message:

Straighten out keyword_flags definitions.
Don't consider :allow-other-keys to be an "unknown keyword".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/lisp-kernel/arm-spentry.s

    r14067 r14075  
    25692569define(`key_value_count',`arg_z')
    25702570
    2571 define(`keyword_flag_allow_other_keys',`(1<<fixnumshift)')
    2572 define(`keyword_flag_seen_allow_other_keys',`(2<<fixnumshift)')
    2573 define(`keyword_flag_unknown_keyword_seen',`(3<<fixnumshift)')
    2574 define(`keyword_flag_rest',`(4<<fixnumshift)')
     2571define(`keyword_flag_allow_other_keys',`(fixnumone<<0)')
     2572define(`keyword_flag_seen_allow_other_keys',`(fixnumone<<1)')
     2573define(`keyword_flag_rest',`(fixnumone<<2)')
     2574define(`keyword_flag_unknown_keyword_seen',`(fixnumone<<3)')
     2575define(`keyword_flag_current_aok',`(fixnumone<<4)')
    25752576
    25762577_spentry(keyword_bind)
     
    26312632        __(ref_nrs_symbol(imm1,kallowotherkeys,imm1))
    26322633        __(cmp temp1,imm1)
     2634        __(orreq keyword_flags,keyword_flags,#keyword_flag_current_aok)
    26332635        __(tsteq keyword_flags,#keyword_flag_seen_allow_other_keys)
    26342636        __(bne local_label(current_key_allow_other_keys_handled))
     
    26562658        __(bge local_label(defined_keyword_compare_loop))
    26572659        /* keyword wasn't defined.  Note that ... */
    2658         __(orr keyword_flags,keyword_flags,#keyword_flag_unknown_keyword_seen)
     2660        __(tst keyword_flags,#keyword_flag_current_aok)
     2661        __(bicne keyword_flags,#keyword_flag_current_aok)
     2662        __(orreq keyword_flags,keyword_flags,#keyword_flag_unknown_keyword_seen)
    26592663        __(b local_label(nextkeyvalpairnext))
    26602664local_label(defined_keyword_found):     
Note: See TracChangeset for help on using the changeset viewer.