From: Andreas Schwab Date: Wed, 24 Sep 2008 12:59:49 +0000 (+0000) Subject: * frame.c (get_frame_register_bytes): Avoid excessive function calls. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=68e007ca21d4d375218ff1accd4678dbb31769e0;p=binutils-gdb.git * frame.c (get_frame_register_bytes): Avoid excessive function calls. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 155c48319a9..fbc6f108a7b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,7 +1,7 @@ 2008-09-24 Andreas Schwab * frame.c (get_frame_register_bytes): Take pseudo registers into - account. + account. Avoid excessive function calls. 2008-09-23 Doug Evans diff --git a/gdb/frame.c b/gdb/frame.c index 0fd21e4eabe..a8774943076 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -798,6 +798,7 @@ get_frame_register_bytes (struct frame_info *frame, int regnum, struct gdbarch *gdbarch = get_frame_arch (frame); int i; int maxsize; + int numregs; /* Skip registers wholly inside of OFFSET. */ while (offset >= register_size (gdbarch, regnum)) @@ -809,8 +810,8 @@ get_frame_register_bytes (struct frame_info *frame, int regnum, /* Ensure that we will not read beyond the end of the register file. This can only ever happen if the debug information is bad. */ maxsize = -offset; - for (i = regnum; - i < gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch); i++) + numregs = gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch); + for (i = regnum; i < numregs; i++) { int thissize = register_size (gdbarch, i); if (thissize == 0)