FIX biographical profiling (#3039, probably #2297)
authorSimon Marlow <marlowsd@gmail.com>
Tue, 17 Mar 2009 14:49:39 +0000 (14:49 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Tue, 17 Mar 2009 14:49:39 +0000 (14:49 +0000)
commitf8f4cb3f3a46e0495917a927cefe906531b7b38e
treed73d7f883bda109e68dca56cc9ab6e5258aa8e6d
parent0ee0be109fd00ec629f7a2ad6a597885a0c9d5b4
FIX biographical profiling (#3039, probably #2297)
Since we introduced pointer tagging, we no longer always enter a
closure to evaluate it.  However, the biographical profiler relies on
closures being entered in order to mark them as "used", so we were
getting spurious amounts of data attributed to VOID.  It turns out
there are various places that need to be fixed, and I think at least
one of them was also wrong before pointer tagging (CgCon.cgReturnDataCon).
compiler/codeGen/CgCon.lhs
compiler/codeGen/CgTailCall.lhs
compiler/codeGen/ClosureInfo.lhs
includes/Cmm.h
rts/StgStdThunks.cmm