[m-rev.] for review: add ll_debug GC grade

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Dec 7 11:35:34 AEDT 2011


On Wed, 7 Dec 2011, Ian MacLarty wrote:

> On Wed, Dec 7, 2011 at 11:07 AM, Julien Fischer
> <juliensf at csse.unimelb.edu.au> wrote:
>>
>> On Wed, 7 Dec 2011, Ian MacLarty wrote:
>>
>>> On Wed, Dec 7, 2011 at 2:52 AM, Julien Fischer
>>> <juliensf at csse.unimelb.edu.au> wrote:
>>>>
>>>>
>>>> On Tue, 6 Dec 2011, Ian MacLarty wrote:
>>>>
>>>>> Branches: main, 11.07
>>>>>
>>>>> Add a new GC grade for the .ll_debug Mercury grade.
>>>>>
>>>>> Previously the .ll_debug grade used the usual "gc" GC grade.  This was a
>>>>> problem, because it meant that installing a .ll_debug grade would
>>>>> overwrite the
>>>>> libgc library with the unoptimised .ll_debug version, resulting in a
>>>>> severe
>>>>> performance loss for applications even if they weren't built in the
>>>>> .ll_debug
>>>>> grade.
>>>>>
>>>>> compiler/compile_target_code.m:
>>>>>   Link against the ll_debug GC library if low-level debugging
>>>>>   is enabled.
>>>>>
>>>>> scripts/ml.in:
>>>>>   Use the new ll_debug GC grade for the .ll_debug Mercury
>>>>>   grades.
>>>>
>>>>
>>>>
>>>>
>>>>> Index: scripts/ml.in
>>>>> ===================================================================
>>>>> RCS file: /home/mercury/mercury1/repository/mercury/scripts/ml.in,v
>>>>> retrieving revision 1.130
>>>>> diff -u -r1.130 ml.in
>>>>> --- scripts/ml.in       26 Oct 2011 05:50:19 -0000      1.130
>>>>> +++ scripts/ml.in       6 Dec 2011 09:16:16 -0000
>>>>> @@ -213,6 +213,9 @@
>>>>>
>>>>> # Compute the gc grade from the grade
>>>>> case "$GRADE" in
>>>>> +       *.par*.gcd*.ll_debug*.prof*)
>>>>> +               gc_grade=par_gc_debug_ll_debug_prof
>>>>> +               ;;
>>>>>        *.par*.gcd*.prof*)
>>>>>                gc_grade=par_gc_debug_prof
>>>>>                ;;
>>>>
>>>>
>>>>
>>>> You seem to be adding a spearate gc_debug component for the gcd
>>>> grades here, which is fine, but it's not mentioned in the log message
>>>> and the corresponding changes haven't been made to
>>>> compile_target_code.m.
>>>>
>>>
>>> There's no new gc_debug grade component.
>>
>>
>> That's my point, you've included it in part of the above:
>>
>>
>>  # Compute the gc grade from the grade
>>  case "$GRADE" in +       *.par*.gcd*.ll_debug*.prof*) +
>> gc_grade=par_gc_debug_ll_debug_prof
>>
>> The components here are par, gc_debug, ll_debug and prof.
>>
>
> But the gc_debug component of the GC grade is not new.  It is added
> for all .gcd grades.

Ah, I didn't realise that.

Julien.


More information about the reviews mailing list