[m-rev.] for review: fix bug #67

Julien Fischer juliensf at csse.unimelb.edu.au
Thu Jul 15 12:55:19 AEST 2010


On Thu, 15 Jul 2010, Julien Fischer wrote:

>
> On Thu, 15 Jul 2010, Peter Wang wrote:
>
>> An alternative fix would be to modify mprof to ignore those entries.
>> ---
>> 
>> Branches: main, 10.04
>> 
>> Fix bug #67.
>> 
>> runtime/mercury_prof.c:
>>        Don't write out entries for do_call_closure_* and
>>        do_call_class_method_* into Prof.Decl.  These produce duplicates 
>> which
>>        causes mprof when trying to read it in, yet are ignored for 
>> profiling
>>        anyway.
>> 
>> diff --git a/runtime/mercury_prof.c b/runtime/mercury_prof.c
>> index d64d94b..d63eb65 100644
>> --- a/runtime/mercury_prof.c
>> +++ b/runtime/mercury_prof.c
>> @@ -292,6 +292,19 @@ print_addr_pair_node(FILE *fptr, prof_call_node *node)
>> void
>> MR_prof_output_addr_decl(const char *name, const MR_Code *address)
>> {
>> +    const char  ignore1[] = "mercury__do_call_closure_";
>> +    const char  ignore2[] = "mercury__do_call_class_method_";
>> +
>> +    /*
>> +    ** Don't output labels for do_call_closure_* and 
>> do_call_class_method_*
>> +    ** as they are ignored for profiling, and the duplicates confuse 
>> mprof.
>> +    */
>> +    if (MR_strneq(name, ignore1, sizeof(ignore1) - 1) ||
>> +        MR_strneq(name, ignore2, sizeof(ignore2) - 1))
>> +    {
>> +        return;
>> +    }
>
> You need to allow for an optional leading underscore, e.g.
>
> 	_mercury__do_call_closure_
> 	_mercury__do_call_class_method_
>
> since some systems prefix symbol names in that way, e.g. Mac OS X.

Actually, ignore that.

Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list