This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Variable objects laziness
> Daniel Jacobowitz wrote:
>
> > Sorry, you're right!
> >
> > When you're ready, please repost. Might want to finish talking with
> > Nick first.
As Nick indicated, I'm not sure whether the removal of my_value_equal is ok.
The whole point of my_value_equal is to check equality of values without
error()ing out if we can't read a value. Your replacement code doesn't
seem to take that possibility into account. Or is it that your new code
no longer needs to do this comparison? If that's the case, do watchpoints
still work?
> - Volodya
>
> Fetch values from memory in a single place,
> and only fetch the values that are really needed.
> * varobj.c (struct varobj): Clarify comment.
> (my_value_equal): Remove.
> (install_new_value): New function.
> (type_of_child): Remove.
> (varobj_create): Use install_new_value.
> (varobj_set_value): Use value_contents_equal, not
> my_value_equal.
> (varobj_update): Use install_new_value.
> (create_child): Likewise. Inline type_of_child here.
> (value_of_child): Don't fetch the value.
> (c_value_of_root): Likewise.
> (c_value_of_variable): Likewise.
> (type_changeable): Improve comments.