[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] target/xtensa: rework zero overhead loops im
From: |
Max Filippov |
Subject: |
Re: [Qemu-devel] [PATCH v2] target/xtensa: rework zero overhead loops implementation |
Date: |
Fri, 11 Jan 2019 14:27:12 -0800 |
On Fri, Jan 11, 2019 at 2:23 PM Max Filippov <address@hidden> wrote:
>
> On Fri, Jan 11, 2019 at 2:17 PM Richard Henderson
> <address@hidden> wrote:
> >
> > On 1/12/19 9:14 AM, Max Filippov wrote:
> > >>> + /*
> > >>> + * 0 in the csbase_lend field means that there may not be a
> > >>> loopback
> > >>> + * for any instruction that starts inside this page. Any other
> > >>> value
> > >>> + * means that an instruction that ends at this offset from the
> > >>> page
> > >>> + * start may loop back.
> > >>
> > >> Nit: s/may/will/g
> > >>
> > >> Using "may" makes it seem like we may have missed a case that should have
> > >> looped back.
> > >
> > > Using "will" makes it seem like it always loops back, but it doesn't do it
> > > when LCOUNT is 0.
> >
> > Err, no, you covered that in the first sentence, where 0 means that it will
> > not
> > loop back.
>
> What I'm saying is that "Any other value means that an instruction that ends
> at this offset from the page start will loop back." sounds like that
> instruction
> will loop back unconditionally. LCOUNT = 0 is the condition when this doesn't
> happen, and it's not encoded in the TB flags. It's checked in the generated
> loopback code.
Maybe "Any other value means that an instruction that ends at this offset
from the page start may loop back and will need loopback code to be generated"?
--
Thanks.
-- Max