qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH v8 29/35] Hexagon (target/hexagon) translation


From: Taylor Simpson
Subject: RE: [PATCH v8 29/35] Hexagon (target/hexagon) translation
Date: Mon, 15 Mar 2021 22:19:17 +0000

> -----Original Message-----
> From: Richard Henderson <richard.henderson@linaro.org>
> Sent: Monday, March 15, 2021 8:32 AM
> To: Taylor Simpson <tsimpson@quicinc.com>; qemu-devel@nongnu.org
> Cc: philmd@redhat.com; alex.bennee@linaro.org; laurent@vivier.eu;
> ale@rev.ng; Brian Cain <bcain@quicinc.com>
> Subject: Re: [PATCH v8 29/35] Hexagon (target/hexagon) translation
>
> On 3/14/21 9:06 PM, Taylor Simpson wrote:
> >> Yes, but DISAS_NORETURN still means we've already exited.
> >>
> >> Just like calling abort() in C means that we won't reach any following 
> >> return statement.
> >
> > Then I'm missing something because the code emitted here does get executed.
>
> You really are missing the point.
>
> The code emitted here, for the NORETURN case, gets executed?  How do you know?

I can see the side effects.  For example, there is a call to 
gen_exec_counters(ctx), and I can see the counters being updated.

>   And if so, then *something* is returning when it shouldn't.
>
> The stop hook is for the use of all of the *other* DISAS_* codes, for which 
> we have not yet exited.
>
> There should be *nothing* to be done for NORETURN.  We have longjmp'ed
> away to the main loop already.  Anything that needed to be done must have been
> done before that point.

OK - I'll make sure everything is done during the packet generation and nothing 
is done during tb_stop.


Thanks,
Taylor




reply via email to

[Prev in Thread] Current Thread [Next in Thread]