[m-rev.] for review: use MR_Unsigned in trace code

Ian MacLarty maclarty at csse.unimelb.edu.au
Tue Oct 2 12:16:40 AEST 2007


On Tue, Oct 02, 2007 at 11:03:54AM +1000, Julien Fischer wrote:
>
> For review by Zoltan or Ian.
>
> Estimated hours taken: 5
> Branches: main
>
> Fix up some places in the trace directory where there were (potential)
> mismatches between the sizes of types used to represent natural numbers.
> Much of the existing code in the trace directory assumed that sizeof(int) 
> == sizeof(MR_Unsigned), which is not true on our 64-bit
> machines.  Zoltan's recent change to MR_trace_is_natural_number() broke
> that assumption in a lot of places.  (I committed a workaround for that
> yesterday.)
>
> This diff addresses the above problem by changing the types of many of
> things that represent natural numbers from int to MR_Unsigned.
> This should make the trace code more robust on 64-bit machines and
> help avoid a recurrence of problems like the above.
>
> NOTE: this change does not change slot numbers into unsigned values since
> they still use negative values as sentinels.  I will address slot numbers
> in as part of a separate change.
>
> trace/mercury_trace.h:
> 	Add typedefs for MR_Unsigned for several commonly used quantities
> 	within the trace code.  For I/O action numbers we just re-use
> 	the type MR_IoActionNum from the runtime, rather than defining
> 	a adding a new typedef here.

delete "a adding".

...
> Index: trace/mercury_trace_cmd_browsing.c
> ===================================================================
...
> @@ -459,10 +461,10 @@
>  MR_trace_cmd_stack(char **words, int word_count, MR_TraceCmdInfo *cmd,
>      MR_EventInfo *event_info, MR_Code **jumpaddr)
>  {
> -    MR_bool     detailed;
> -    int         frame_limit = 0;
> -    int         line_limit = MR_stack_default_line_limit;
> -    int         spec_line_limit;
> +    MR_bool             detailed;
> +    MR_FrameLimit       frame_limit = 0;
> +    int                 line_limit = MR_stack_default_line_limit;

I think this should change to MR_Unsigned too (here and elsewhere).

Looks fine otherwise.

Ian.
--------------------------------------------------------------------------
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