suspicious piece of code in RTS(Profiling.c) code

Ömer Sinan Ağacan omeragacan at gmail.com
Mon Jun 2 15:19:21 UTC 2014


Hi all,

I recently found a suspicious piece of code in RTS code.

* https://github.com/ghc/ghc/blob/master/rts/Profiling.c#L622 here it's
checking that ccs is not EMPTY_STACK.
* https://github.com/ghc/ghc/blob/master/includes/rts/prof/CCS.h#L96 here
EMPTY_STACK is defined as NULL.

Now weird part is that before the if-statement checks for `ccs != NULL` ccs
is used to reach some of it's fields(for example, line 601 and 602). As far
as I can see either we have a bug here or the if-statement is not necessary
and we can move it's body to top level.

Am I missing anything here?

Thanks.

---
Ömer Sinan Ağacan
http://osa1.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140602/dd448adf/attachment.html>


More information about the ghc-devs mailing list