binutils-gdb/gdb/python
Tom Tromey 94aeb44b00 Make exception handling more efficient
This makes exception handling more efficient in a few spots, through
the use of const- and rvalue-references.

I wrote this patch by commenting out the gdb_exception copy
constructor and then examining the resulting error messages one by
one, introducing the use of std::move where appropriate.

gdb/ChangeLog
2019-04-25  Tom Tromey  <tromey@adacore.com>

	* xml-support.c (struct gdb_xml_parser) <set_error>: Take an
	rvalue reference.
	(gdb_xml_start_element_wrapper, gdb_xml_end_element_wrapper)
	(gdb_xml_parser::parse): Use std::move.
	* python/python-internal.h (gdbpy_convert_exception): Take a const
	reference.
	* python/py-value.c (valpy_getitem, valpy_nonzero): Use
	std::move.
	* python/py-utils.c (gdbpy_convert_exception): Take a const
	reference.
	* python/py-inferior.c (infpy_write_memory, infpy_search_memory):
	Use std::move.
	* python/py-breakpoint.c (bppy_set_condition, bppy_set_commands):
	Use std::move.
	* mi/mi-main.c (mi_print_exception): Take a const reference.
	* main.c (handle_command_errors): Take a const reference.
	* linespec.c (parse_linespec): Use std::move.
	* infcall.c (run_inferior_call): Use std::move.
	(call_function_by_hand_dummy): Use std::move.
	* exec.c (try_open_exec_file): Use std::move.
	* exceptions.h (exception_print, exception_fprintf)
	(exception_print_same): Update.
	* exceptions.c (print_exception, exception_print)
	(exception_fprintf, exception_print_same): Change parameters to
	const reference.
	* event-top.c (gdb_rl_callback_read_char_wrapper): Update.
	* common/new-op.c: Use std::move.
	* common/common-exceptions.h (struct gdb_exception): Add move
	constructor.
	(struct gdb_exception_error, struct gdb_exception_quit, struct
	gdb_quit_bad_alloc): Change constructor to move constructor.
	(throw_exception): Change parameter to rvalue reference.
	* common/common-exceptions.c (throw_exception): Take rvalue
	reference.
	* cli/cli-interp.c (safe_execute_command): Use std::move.
	* breakpoint.c (insert_bp_location, location_to_sals): Use
	std::move.
2019-04-25 12:59:35 -06:00
..
lib/gdb Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-all-events.def Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-arch.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-auto-load.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-block.c Remove duplicate or commented-out #includes 2019-01-21 11:14:07 -07:00
py-bpevent.c Do not include py-ref.h in most files 2019-01-22 20:35:21 -07:00
py-breakpoint.c Make exception handling more efficient 2019-04-25 12:59:35 -06:00
py-cmd.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-continueevent.c Do not include py-ref.h in most files 2019-01-22 20:35:21 -07:00
py-event-types.def Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-event.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-event.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
py-events.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
py-evtregistry.c Do not include py-ref.h in most files 2019-01-22 20:35:21 -07:00
py-evts.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-exitedevent.c Change inferior_to_inferior_object to return a gdbpy_ref 2019-01-02 16:28:33 -07:00
py-finishbreakpoint.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-frame.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-framefilter.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-function.c Do not include py-ref.h in most files 2019-01-22 20:35:21 -07:00
py-gdb-readline.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-inferior.c Make exception handling more efficient 2019-04-25 12:59:35 -06:00
py-infevents.c Do not include py-ref.h in most files 2019-01-22 20:35:21 -07:00
py-infthread.c Add python method InferiorThread.handle 2019-04-08 20:12:45 -07:00
py-instruction.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-instruction.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
py-lazy-string.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-linetable.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-newobjfileevent.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-objfile.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-param.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-prettyprint.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-progspace.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-record-btrace.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-record-btrace.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
py-record-full.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-record-full.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
py-record.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-record.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
py-ref.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
py-signalevent.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-stopevent.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-stopevent.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
py-symbol.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-symtab.c More block constification 2019-03-24 23:32:08 -06:00
py-threadevent.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-type.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-unwind.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
py-utils.c Make exception handling more efficient 2019-04-25 12:59:35 -06:00
py-value.c Make exception handling more efficient 2019-04-25 12:59:35 -06:00
py-varobj.c Do not include py-ref.h in most files 2019-01-22 20:35:21 -07:00
py-xmethods.c Do not include py-ref.h in most files 2019-01-22 20:35:21 -07:00
python-config.py configure uses incorrect link order when testing libpython 2018-05-04 10:08:09 -04:00
python-internal.h Make exception handling more efficient 2019-04-25 12:59:35 -06:00
python.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
python.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00