[nhc-users] pointers < 2^31?
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Wed Nov 24 12:35:26 EST 2004
> Am I confused or does nhc98 assume that all pointers are < 2^31?
It would seem that you are right. The top bit 0x10000000 is the
ZAP_BIT, used to indicate a black-hole (a value already under
evaluation, useful for detecting infinite loops).
> On m68k malloc is giving me stuff above 0xc0000000 and I get a segfault
> the first time mutator.c:460
> if(GET_TAG(nodeptr) & VAP_TAG && !CINFO_NEED(GET_CINFO(nodeptr))) {
> is reached.
Yes, by a horrendous series of CPP macros,
GET_CINFO(p) -> EXT_CINFO(*p) -> EXT_FINFO(*p)
-> EXT_HADDRESS(*p) -> ~ZAP_BIT & *p
the address is being masked.
Regards,
Malcolm
More information about the Nhc-users
mailing list