[m-rev.] for review: trace builtin and private_builtin

Ian MacLarty maclarty at cs.mu.OZ.AU
Wed Dec 7 04:26:23 AEDT 2005


On Wed, Dec 07, 2005 at 12:29:08AM +1100, Julien Fischer wrote:
> 
> > Index: compiler/stack_layout.m
> > ===================================================================
> > RCS file: /home/mercury1/repository/mercury/compiler/stack_layout.m,v
> > retrieving revision 1.109
> > diff -u -r1.109 stack_layout.m
> > --- compiler/stack_layout.m	28 Oct 2005 02:10:36 -0000	1.109
> > +++ compiler/stack_layout.m	28 Nov 2005 18:48:19 -0000
> > @@ -87,6 +87,7 @@
> >  :- import_module ll_backend.llds_out.
> >  :- import_module ll_backend.prog_rep.
> >  :- import_module ll_backend.trace.
> > +:- import_module mdbcomp.program_representation.
> >  :- import_module parse_tree.prog_out.
> >  :- import_module parse_tree.prog_util.
> >
> > @@ -421,8 +422,9 @@
> >      ).
> >
> >  :- pred find_valid_return_context(
> > -    assoc_list(code_addr, pair(prog_context, goal_path))::in,
> > -    code_addr::out, prog_context::out, goal_path::out) is semidet.
> > +    assoc_list(code_addr, pair(prog_context, hlds.hlds_goal.goal_path))::in,
> 
> One level of module qualification should be sufficent to differentiate
> between hlds_goal.goal_path and program_representation.goal_path.
> 

Righto.

> (On an unrelated note: are these two versions of the goal_path type that
> different that we need two of them?  Superficially they look similar.)
> 

I'm not sure.

> 
> It would be worth adding a pointer to this predicate in builtin and exception
> to the effect that if the implementation of these predicates is changed then
> this predicate may need to be updated.
> 

only in patch2:
unchanged:
--- library/builtin.m	17 Oct 2005 11:35:16 -0000	1.112
+++ library/builtin.m	6 Dec 2005 17:21:06 -0000
@@ -479,6 +479,13 @@
 ").
 
 %-----------------------------------------------------------------------------%
+%
+% IMPORTANT: any changes or additions to external predicates should be
+% reflected in the definition of pred_is_external in
+% mdbcomp/program_representation.m.  The debugger needs to know what predicates
+% are defined externally, so that it knows not to expect events for those
+% predicates.
+%
 
 :- external(unify/2).
 :- external(compare/3).
only in patch2:
unchanged:
--- library/exception.m	20 Sep 2005 03:47:30 -0000	1.100
+++ library/exception.m	6 Dec 2005 17:22:28 -0000
@@ -733,6 +733,14 @@
 :- mode builtin_catch(pred(out) is multi, in(handler), out) is multi.
 :- mode builtin_catch(pred(out) is nondet, in(handler), out) is nondet.
 
+%
+% IMPORTANT: any changes or additions to external predicates should be
+% reflected in the definition of pred_is_external in
+% mdbcomp/program_representation.m.  The debugger needs to know what predicates
+% are defined externally, so that it knows not to expect events for those
+% predicates.
+%
+
 :- external(builtin_throw/1).
 :- external(builtin_catch/3).
 

Merci,

Ian.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list