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.h

    r13921 r13948  
    8484
    8585#define fulltag_even_fixnum 0   /*  I suppose EVENP/ODDP might care; nothing else does. */
    86 #define fulltag_cons     1      /*  a real (non_null) cons.  Shares TAG with fulltag_nil. */
     86#define fulltag_nil      1      /*  NIL and nothing but.  (Note that there's still a hidden NILSYM.) */
    8787#define fulltag_nodeheader 2    /*  Header of heap_allocated object that contains lisp_object pointers */
    8888#define fulltag_imm      3      /*  a "real" immediate object.  Shares TAG with fulltag_immheader. */
    8989#define fulltag_odd_fixnum 4    /*   */
    90 #define fulltag_nil      5      /*  NIL and nothing but.  (Note that there's still a hidden NILSYM.) */
     90#define fulltag_cons     5      /*  a real (non_null) cons.  Shares TAG with fulltag_nil. */
    9191#define fulltag_misc     6      /*  Pointer "real" tag_misc object.  Shares TAG with fulltag_nodeheader. */
    9292#define fulltag_immheader 7     /*  Header of heap-allocated object that contains unboxed data. */
     
    272272
    273273
    274 #define nil_value (0x10000000+fulltag_nil)
     274#define nil_value (0x04000000+fulltag_nil)
    275275
    276276
     
    332332#define log2_heap_segment_size 16
    333333
    334 #define STATIC_BASE_ADDRESS 0x0ffff000
     334#define STATIC_BASE_ADDRESS 0x03fff000
    335335
    336336#define PSR_N_MASK (1<<31)
Note: See TracChangeset for help on using the changeset viewer.