[Nix-dev] nix killed by 11

Eelco Dolstra e.dolstra at tudelft.nl
Fri Sep 18 18:08:18 CEST 2009


Nicolas Pierron wrote:

>> Nicolas Pierron wrote:
>>
>>> So we should try to get rid of the stack introspection because:
>>> - It can makes errors and can alter non-Terms pointers. (already
>>> experience that in a Stratego extension)
>> It never alters them, it's not a copying garbage collector.
>>
> 
> The ATerm library does not modify the content of the term but it
> modifies the "age counter" which is a 2 bits counter.  

>From what I gather from the sources, the age counter is in the term itself, not
in pointers to the term (then it would have to be masked out on every
dereference).  From aterm.c:

    INCREMENT_AGE(t->header);

And AT_isInsideValidTerm() should ensure that the GC only does this for actual
terms.

-- 
Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/



More information about the nix-dev mailing list