machine.h bug

Stephen Weeks sweeks@intertrust.com
Thu, 13 Jul 2000 12:20:59 -0700 (PDT)


> Well, it's not really a bug, but a misleading comment:
> 
> 	if (mltonState.isOriginal) {					\
>  		/* The (> 0) check is so that the C compiler can	\
> 		 * eliminate the call if there are no IntInfs and we	\
> 		 * then won't have to link in with the IntInf stuff.	\
> 		 */							\
> 		if (cardof(intInfInits) > 0)				\
> 			IntInf_init(&gcState, intInfInits);		\
> 
> but intInfInits always has a terminating {0, NULL}, so cardof(intInfInits)
> is at least one.  I only realized this when I got started debugging and
> noticed that stepping through main always resulted in a call to
> IntInf_init.

It's a bug.  Thanks.  This saves about 15K on executables that don't
use IntInf.  I changed it to >1.  Now I have to rerun all the
benchmarks for the release :-(