This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]