[m-dev.] for review: a big step towards the trace-based debugger (part 2 of 3)
Zoltan Somogyi
zs at cs.mu.OZ.AU
Wed Apr 1 11:58:20 AEST 1998
> > +% The live data pair vector will have an entry for each live variable.
> > +% The entry will give the location of the variable and its type. (It also
> > +% has room for its instantiation state, but this is not filled in yet.)
> > +%
> > +% The live data name vector pointer may be NULL. If it is not, the vector
> > +% will have an entry for each live variable, with each entry being either
> > +% NULL or giving the name of the variable.
>
> In what cases will it be NULL? What does that represent?
I have clarified what the individual entries being NULL means (variable
has no name). The entire vector being NULL is already explained further down.
(You can't explain everything all at once.)
> > + { Label = local(_, LabelNum0) ->
> > + LabelNum = LabelNum0
> > + ;
> > + LabelNum = -1
> > + },
>
> In what cases would LabelNum = -1 happen (operationally)?
If Label is the entry label. Tracing will not use such a label and neither
will it be a resumption point in unoptimized code, and I don't *think*
it can be made a resumption point by any optimization, but I can't prove
that right now.
> Should be documented, along with how the runtime should interpret this
> data. Should be documented above too (I don't remember seeing it, but
> I could be wrong).
It is documented now.
> > @@ -49,7 +53,8 @@
> >
> > #define MR_DETISM_FIRST_SOLN(d) (((d) & 8) != 0)
> >
> > -#define MR_DETISM_DET_CODE_MODEL(d) (((d) & 1) == 0)
> > +#define MR_DETISM_DET_CODE_MODEL(d) (!MR_DETISM_AT_MOST_MANY(d) \
> > + || MR_DETISM_FIRST_SOLN(d))
> >
>
> But MR_DETISM_FIRST_SOLN is actually subsumed by !MR_DETISM_AT_MOST_MANY
> isn't it?
No. cc_* determinisms have AT_MOST_MANY. In any case, after Fergus's question,
I renamed the macro to indicate its true function: to indicate which stack
the procedure has its frame on. (Note that this function is needed only by agc,
not by tracing.)
Zoltan.
More information about the developers
mailing list