[mercury-users] dynamic linking, Guile

Peter Wang novalazy at gmail.com
Tue Feb 9 12:58:17 AEDT 2010


On 2010-02-09, Zoltan Somogyi <zs at csse.unimelb.edu.au> wrote:
> On 09-Feb-2010, Peter Wang <novalazy at gmail.com> wrote:
> > The changes are not extensive and are not crucial; search for "mercury"
> > (case insensitive) in the boehm_gc directory.
> 
> At least one change from the default is crucial. By default, boehm considers
> only pointers to the first byte of a heap cell to be a reference to it,
> but due to our use of tagged pointers, any version used with Mercury programs
> has to consider any reference to any byte in the first word of heap cell
> to be a reference to it.

No, that is handled by calling GC_REGISTER_DISPLACEMENT(i) in
mercury_wrapper.c.  It is a standard Boehm GC feature, since before
version 2.2, judging by the change log.

Peter

P.S. I also came across the POINTER_MASK and POINTER_SHIFT macros.
If set, Boehm GC will preprocess candidate pointers using those values.
I wonder if there is any benefit to using that instead.
--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list