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

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


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.

Julien.


More information about the reviews mailing list