patch applied (ghc): Fix description and type profiling
igloo at earth.li
Mon Aug 20 06:19:38 EDT 2007
On Mon, Aug 20, 2007 at 10:05:08AM +0100, Simon Marlow wrote:
> Ian Lynagh wrote:
> >Fri Aug 17 07:45:31 PDT 2007 Ian Lynagh <igloo at earth.li>
> > * Fix description and type profiling
> > Consistently make the type and description in the info table an offset
> > or a pointer, depending on whether tables are next to code or not.
> > M ./compiler/cmm/CmmInfo.hs -58 +57
> > M ./compiler/codeGen/CgInfoTbls.hs -5 +3
> This surprises me :-/
> I pushed this patch a while back:
> Wed Jun 13 11:29:28 BST 2007 Simon Marlow <simonmar at microsoft.com>
> * FIX #1418 (partially)
> When the con_desc field of an info table was made into a relative
> reference, this had the side effect of making the profiling fields
> (closure_desc and closure_type) also relative, but only when compiling
> via C, and the heap profiler was still treating them as absolute,
> leading to crashes when profiling with -hd or -hy.
> This patch fixes up the story to be consistent: these fields really
> should be relative (otherwise we couldn't make shared versions of the
> profiling libraries), so I've made them relative and fixed up the RTS
> to know about this.
This handled most of them, but for example the info tables made with
INFO_TABLE in StgMiscClosures.cmm still had absolute addresses in.
> Also, your patch has this:
> + ty_prof' = if tablesNextToCode
> + then makeRelativeRefTo info_label ty_prof
> + else ty_prof
> but makeRelativeRefTo already checks tablesNextToCode, so the above patch
> seems redundant.
Good point, I'll make the above unconditional.
> In fact, the whole patch looks like it might be a no-op
Well, unless I dreamed it, -hy/-hd worked afterwards but not before :-)
More information about the Cvs-ghc