eh frame debug size improvement
Michael Meissner
meissner@cygnus.com
Wed Oct 15 20:16:00 GMT 1997
Richard Henderson writes:
| Wed Oct 15 02:09:44 1997 Richard Henderson <rth@cygnus.com>
|
| * dwarf2out.c (dwarf2out_stack_adjust): Skip if frame_pointer_needed.
|
| Index: dwarf2out.c
| ===================================================================
| RCS file: /cvs/cvsfiles/egcs/gcc/dwarf2out.c,v
| retrieving revision 1.13
| diff -u -p -d -r1.13 dwarf2out.c
| --- dwarf2out.c 1997/10/07 21:35:54 1.13
| +++ dwarf2out.c 1997/10/15 09:00:27
| @@ -992,6 +992,14 @@ dwarf2out_stack_adjust (insn)
| long offset;
| char *label;
|
| + /* If this function uses a frame pointer, we know a-priori the frame
| + size does not vary. If we don't have EH regions, we can unwind
| + the function with just the normal prologue info; if we do, we can
| + either reinit the stack pointer off of the frame pointer, or leave
| + it alone if EXIT_IGNORE_STACK. */
| + if (frame_pointer_needed)
| + return;
| +
| if (GET_CODE (insn) == BARRIER)
| {
| /* When we see a BARRIER, we know to reset args_size to 0. Usually
Note, if the comment is true, then an throwing an exception will wipe
out all alloca'ed data, which IMHO is uncool.
More information about the Gcc
mailing list