This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFA:] More compact EH frame info for synchronous EH
On Thu, Apr 14, 2005 at 07:30:56AM +0200, Hans-Peter Nilsson wrote:
> So, anyway, some of these optimizations may apply to asynch
> exceptions too? Nice.
We have no truely async _exceptions_. The Ada folk pretend to,
but havn't actually done what's required for that. And, by the
by, the only reason Ada could *possibly* have async exceptions
is that the language essentially denies that data can flow from
the EH region to the EH handler. So don't even think about
trying it in C++ or Java -- it can't (won't) be done.
We attempt to have async unwind tables, and that's an entirely
different proposition. Of course, we do a piss-poor job of it.
And no, nothing you're doing will apply to -fasynchronous-unwind-tables.
> > > + /* See if we can replace the CFI in HEAD with one in TAIL before we hit
> > > + a DW_CFA_GNU_BARRIER or the end of the list. Items in the TAIL chain
> > > + can be modified to complete the replacement. This depends on EH
> > > + frame info being output after debug info, else the size of the debug
> > > + info will increase. */
> >
> > I totally do not understand what you're after here.
>
> Changing a DW_CFA_def_cfa_offset to DW_CFA_def_cfa increases the
> size, but is otherwise information-preserving.
You've added essentially nothing to my understanding. My immediate
response is "why is that useful?" I'm slow. Draw me a picture.
> If I use NOTE_INSN_FUNCTION_BEG, won't scheduling move the
> prologue isnsn "over" that note? (I guess I could find that out
> myself.)
No. See reposition_prologue_and_epilogue_notes.
r~