f979c73fd0
I think that the clone method of xmethod_worker can be removed. It is only used in find_overload_match, to clone an xmethod we want to keep. Instead, we can just std::move it out of the vector and into value_from_xmethod. value_from_xmethod creates a value that will own the xmethod_worker from that point. Other xmethod_workers left in the vector will get destroyed when the vector gets destroyed, but the chosen one will keep living inside the value struct. gdb/ChangeLog: * extension.h (struct xmethod_worker) <clone>: Remove. * python/py-xmethods.c (struct python_xmethod_worker) <clone>: Remove. (python_xmethod_worker::clone): Remove. * valops.c (find_overload_match): Use std::move instead of clone. |
||
---|---|---|
.. | ||
lib/gdb | ||
py-all-events.def | ||
py-arch.c | ||
py-auto-load.c | ||
py-block.c | ||
py-bpevent.c | ||
py-breakpoint.c | ||
py-cmd.c | ||
py-continueevent.c | ||
py-event-types.def | ||
py-event.c | ||
py-event.h | ||
py-events.h | ||
py-evtregistry.c | ||
py-evts.c | ||
py-exitedevent.c | ||
py-finishbreakpoint.c | ||
py-frame.c | ||
py-framefilter.c | ||
py-function.c | ||
py-gdb-readline.c | ||
py-inferior.c | ||
py-infevents.c | ||
py-infthread.c | ||
py-instruction.c | ||
py-instruction.h | ||
py-lazy-string.c | ||
py-linetable.c | ||
py-newobjfileevent.c | ||
py-objfile.c | ||
py-param.c | ||
py-prettyprint.c | ||
py-progspace.c | ||
py-record-btrace.c | ||
py-record-btrace.h | ||
py-record-full.c | ||
py-record-full.h | ||
py-record.c | ||
py-record.h | ||
py-ref.h | ||
py-signalevent.c | ||
py-stopevent.c | ||
py-stopevent.h | ||
py-symbol.c | ||
py-symtab.c | ||
py-threadevent.c | ||
py-type.c | ||
py-unwind.c | ||
py-utils.c | ||
py-value.c | ||
py-varobj.c | ||
py-xmethods.c | ||
python-config.py | ||
python-internal.h | ||
python.c | ||
python.h |