This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/9884] New: Inefficient code in function default_print_registers_info
- From: "richard dot stuckey at arc dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: 23 Feb 2009 16:40:00 -0000
- Subject: [Bug gdb/9884] New: Inefficient code in function default_print_registers_info
- Reply-to: sourceware-bugzilla at sourceware dot org
In the function default_print_registers_info in the file infcmd.c, there is the code
/* If the register name is empty, it is undefined for this
processor, so don't display anything. */
if (gdbarch_register_name (gdbarch, i) == NULL
|| *(gdbarch_register_name (gdbarch, i)) == '\0')
continue;
fputs_filtered (gdbarch_register_name (gdbarch, i), file);
print_spaces_filtered (15 - strlen (gdbarch_register_name
(gdbarch, i)), file);
i.e. the function gdbarch_register_name may be called up to four times for each
register; it would be better to replace this code with
{
const char* name = gdbarch_register_name (gdbarch, i);
/* If the register name is empty, it is undefined for this
processor, so don't display anything. */
if (name == NULL || *name == '\0')
continue;
fputs_filtered (name, file);
print_spaces_filtered (15 - strlen (name), file);
}
--
Summary: Inefficient code in function
default_print_registers_info
Product: gdb
Version: 6.8
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: gdb
AssignedTo: unassigned at sourceware dot org
ReportedBy: richard dot stuckey at arc dot com
CC: gdb-prs at sourceware dot org
http://sourceware.org/bugzilla/show_bug.cgi?id=9884
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.