On Tue 05 Feb 2013 23:31, [email protected] (Ludovic Courtès) writes: > This would be less of a problem if we had “immediate pointers” [0]. > Would the retagging in 2.1 allow this?
The tc3 itag allocation in wip-retagging is: * tc3: * 000: A heap object with a tag word on the heap * 001: Some other immediate * 010: A pair * 011: Small integer (odd) * 100: (Unallocated tc3.) * 101: (Unallocated tc3.) * 110: A struct * 111: Small integer (even) And SCM_IMP is: #define SCM_IMP(x) (1 & SCM_UNPACK (x)) So perhaps 101 could be an immediate pointer. Dunno. Pretty nasty stuff! > (At FOSDEM, Luca Saiu rightfully noted that we could use 4-bit tags > instead of 3-bit tags on 64-bit arches, which would give us the needed > room here.) GC_malloc still returns eight-byte aligned memory hunks on 64-bit, no? Andy -- http://wingolog.org/
