qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/4] new Blackfin QEMU port


From: Mike Frysinger
Subject: Re: [Qemu-devel] [PATCH 0/4] new Blackfin QEMU port
Date: Tue, 1 Feb 2011 12:20:52 -0500

On Tue, Feb 1, 2011 at 05:31, Peter Maydell wrote:
> So for instance here:
>
> +static void gen_hwloop_check(DisasContext *dc)
> +{
> +    bool loop1, loop0;
> +    int endl;
> +
> +    loop1 = (dc->pc == dc->env->lbreg[1]);
> +    loop0 = (dc->pc == dc->env->lbreg[0]);
>
> I suspect that this check of pc against the lbreg[]
> values should be being done in the generated code,
> not at translate time.

that is not feasible from a performance perspective.  what you're
proposing is that i put a check on *every* insn to see if the current
pc is equal to either of the loop registers.

the way i'm doing it atm i believe is safe.  if a lbreg changes, then
i invalidate any TBs associated with the old value and any TBs
associated with the new value.  thus i force the code to be
retranslated, and i can assume the lbreg values are constant when
doing so.
-mike



reply via email to

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