This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]