Ignore:
Timestamp:
Jul 9, 2010, 11:46:08 PM (9 years ago)
Author:
gb
Message:

The point of the checkpoint in the last commit: change nil_value on ARM
from #x10000005 to #x04000001. That obviously means that we invert
arm::fulltag-cons and arm::fulltag-nil, and change a few things (the link-
inverting marker, the LISTP compiler-macro) that were more sensitive to
that than they probably should have been.

OTOH, we get ~192M more address space to play with.

File:
1 edited

Legend:

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

    r13925 r13948  
    118118
    119119fulltag_even_fixnum = 0 /* I suppose EVENP/ODDP might care; nothing else does. */
    120 fulltag_cons = 1        /* a real (non_null) cons.  Shares TAG with fulltag_nil. */
     120fulltag_nil = 1 /* NIL and nothing but.  (Note that there's still a hidden NILSYM.) */
    121121fulltag_nodeheader = 2  /* Header of heap_allocated object that contains lisp_object pointers */
    122122fulltag_imm = 3 /* a "real" immediate object.  Shares TAG with fulltag_immheader. */
    123123fulltag_odd_fixnum = 4  /* */
    124 fulltag_nil = 5 /* NIL and nothing but.  (Note that there's still a hidden NILSYM.) */
     124fulltag_cons = 5        /* a real (non_null) cons.  Shares TAG with fulltag_nil. */
    125125fulltag_misc = 6        /* Pointer "real" tag_misc object.  Shares TAG with fulltag_nodeheader. */
    126126fulltag_immheader = 7   /* Header of heap-allocated object that contains unboxed data. */
    127127
    128 nil_value = (0x10000000+fulltag_nil)
     128nil_value = (0x04000000+fulltag_nil)
    129129misc_bias = fulltag_misc
    130 cons_bias = tag_list   
     130cons_bias = fulltag_cons   
    131131       
    132132unsigned_byte_24_mask = 0xe0000003 /* bits that should be clear in a boxed */
     
    172172/* set in the result. */
    173173
    174 t_offset = (dnode_size+(dnode_size-fulltag_nil)+fulltag_misc)
     174t_offset = ((dnode_size-fulltag_nil)+fulltag_misc)
    175175t_value = nil_value+t_offset
    176176
     
    397397       
    398398        _struct(nrs,0)
    399          _struct_pad(dnode_size+dnode_size-fulltag_nil)
     399         _struct_pad(dnode_size-fulltag_nil)
    400400
    401401         _struct_pad(fulltag_misc)
     
    689689num_lisp_globals = 49            /* MUST UPDATE THIS !!! */
    690690       
    691         _struct(lisp_globals,-(fulltag_nil+(num_lisp_globals*node_size)))
     691        _struct(lisp_globals,-(fulltag_nil+dnode_size+(num_lisp_globals*node_size)))
    692692         _node(weakvll)                 /* all populations as of last GC */
    693693         _node(initial_tcr)             /* initial thread tcr */
Note: See TracChangeset for help on using the changeset viewer.