TICKY_TICKY symbol in rts's C code
Edward Z. Yang
ezyang at MIT.EDU
Thu Mar 14 22:37:09 CET 2013
TICKY_TICKY is the right #def to check, and it should work the straightforward
way. Why doesn't
#ifdef TICKY_TICKY
#define MYBUMP(ctr,n) ctr = ctr + n
#else
#define MYBUMP(ctr,n) /* nothing */
#endif
work?
As a trick, you can check and make sure TICKY_TICKY is actually defined by
inserting an #error if it's not defined, and then taking a look at the failing
build command.
Edward
Excerpts from Nicolas Frisby's message of Thu Mar 14 14:21:16 -0700 2013:
> I'm trying to enable some ticky counters for profiling the RTS code (eg in
> Storage.c:allocate). Much of the code was already in place, but disabled
> via CPP.
>
> I can enable the counters, but I'm having trouble making them only tick in
> the debug RTS.
>
> Can someone advise regarding the presence/accuracy of, say, the TICKY_TICKY
> symbol within the $(TOP)/includes/stg/Ticky.h file?
>
> Recap:
>
> * I use a macro in Storage.c to tick a ticky counter
>
> * The macro is #defined in stg/Ticky.h
>
> * I'd like the macro definition to be empty unless the Rts build way
> is DEBUG
>
> * There's this TICKY_TICKY symbol already floating around, so that seems
> like the right symbol to check
>
> * Thus: what do #include in stg/Ticky.h to make TICKY_TICKY accurate wrt
> to the build way?
>
> Maybe I'm dense at the moment, but trying some of the straight-forward
> options suggested by
> http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes didn't
> seem to help.
>
> Thanks.
More information about the ghc-devs
mailing list