Re: [RFA] Document fixed/floating variable objects and thread-id.

Vladimir Prus
2008-04-09T17:48:15Z

On Wednesday 09 April 2008 21:05:39 Eli Zaretskii wrote:
> > From: Vladimir Prus <ghost@cs.msu.su>
> > Date: Wed, 9 Apr 2008 19:10:56 +0400
> > Cc: gdb-patches@sources.redhat.com
> >
> > On Wednesday 09 April 2008 19:00:28 Eli Zaretskii wrote:
> > > > From: Vladimir Prus <ghost@cs.msu.su>
> > > > Date: Wed, 09 Apr 2008 15:59:14 +0400
> > > >
> > > > >> +fixed variable object, the expression is parsed when the variable
> > > > >> +object is created, including associating indentifiers to specific
> > > > >> +variables. The meaning of expression never changes. A floating
> > > > >> +variable object has its expression reparsed each time the variable
> > > > >> +object is updated. In particular, the meaning of identifiers can
> > > > >> +change every time.
> > > > >
> > > > > Instead of ``meaning'' here, isn't it better to say ``value''?
> > > >
> > > > Identifier does not have a value. Think of 'i' -- it's just a name.
> > > > It is then associated to a specific variable, which variable has value.
> > > > What I mean is that association between identifiers to variables can
> > > > change for floating variable objects. Of course, the values can also
> > > > change, but values can change even for fixed variable objects.
> > > >
> > > > What's the best way to express this?
> > >
> > > I don't know yet: what is an ``identifier'' in this context? You
> > > don't mean symbols in the source language of the program being
> > > debugged, as in your example with `i', do you?
> >
> > I mean exactly that. variable object is created for an expression.
> > That expression, among other things, has identifiers that are resolved
> > to refer to variables in the program.
>
> Then how about ``the values of variables whose names appear in the
> expressions are re-evaluated every time''?

I'm afraid that this statement is true for fixed variable objects too,
and it still makes it sound like we pick variables, and then reevaluate it.
Instead, we reparse entire expression which can find completely different
variables.

- Volodya