guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: on coding a portable R6RS package supporting Guile and its FFI


From: Andy Wingo
Subject: Re: on coding a portable R6RS package supporting Guile and its FFI
Date: Wed, 06 Feb 2013 11:57:56 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux)

On Tue 05 Feb 2013 23:31, address@hidden (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/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]