This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: [patch 3.4/3.5] libffi & libjava port for hppa-linux
Andrew Haley writes:
> fRandolph Chung writes:
> > > Yup. Well, sorta: MD_FALLBACK_FRAME_STATE_FOR copies saved registers
> > > from the signal frame to _Unwind_FrameState and then sets things up so
> > > that the _next_ time uw_frame_state_for() is called, it returns the
> > > context of the point at which the signal was triggered.
> >
> > sorry, i still don't understand.
> >
> > in the case where you have 3 frames:
> >
> > 3 [ sighandler ]
> > 2 [ sig frame ]
> > 1 [ try-catch ]
> >
> > if the signal is triggered from the try-catch frame, and an exception is
> > thrown from the sighandler, how many times is uw_frame_state_for()
> > called?
>
> It's impossible to say. Throwing an exception in turn generats more
> frames.
>
> > i should mention that this case doesn't work on x86 either (with
> > g++-3.3). it works for libjava because there is always some more frames
> > between try-catch and the signal frame.
I meant to say: no, this is not the case. There is not always some
more frames between try-catch and the signal frame. If a signal is
delivered in a try {} block, for instance.
Andrew.