eh frame debug size improvement
Richard Henderson
rth@cygnus.com
Wed Oct 15 20:16:00 GMT 1997
On Wed, Oct 15, 1997 at 06:02:43PM -0400, Michael Meissner wrote:
> Note, if the comment is true, then an throwing an exception will wipe
> out all alloca'ed data, which IMHO is uncool.
No, if the epilogue can handle not caring where the stack pointer is,
as it surely must in a function using alloca, we can, as the comment
said, leave the stack pointer alone.
This will cause problems only with situations like
while (1) {
try {
diediedie(barney);
} catch (...) {
}
}
where we keep pushing parameters and not reclaiming.
Note that if the function does not use alloca, we can reinit off the
frame pointer and the above does work. Dynamicly sized arrays are
trickier, but we should still be able to reinit off the fp, since block
scope applies, and the save_expr's for the array sizes should still be
hanging out.
r~
More information about the Gcc
mailing list