Moving all ticky bumps after the heapcheck did prevent the wiggling I noticed.
 
Could you also weigh in on the location of the cost centre profiling entries?
 
Thanks!


On Mon, Feb 18, 2013 at 2:19 PM, Simon Marlow <marlowsd@gmail.com> wrote:
On 16/02/13 16:32, Nicolas Frisby wrote:
I noticed some suspicious wiggling in my ticky reports' entry counts.
SPJ suggested they were due to the counter ticking before the heap
check: if it fails, then it ticks again when we re-enter after the
stg_gc function does its thing.
After looking into it a bit further, I have a couple questions. Here's
what I found.
   * for functions (StgCmmBind.closureCodeBody), tickyEnterFun and
enterCostCentreFun are before the heap check
   * for thunks (StgCmmBind.thunkCode), tickyEnterThunk is before the
heap check and enterCostCentreThunk is after.
Questions:
   * Does any object to me moving both ticky counters after the heap check?
   * Is there a reason the two cost centre profiling entries are on
opposite sides of the heap check?

It sounds wrong to me.  If you could clean this up that would be great.  These counters should never be bumped before the heap check, because if the heap check fails then the bumps will happen twice.

Cheers,
        Simon