[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/3] tci rewrite
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 0/3] tci rewrite |
Date: |
Tue, 13 May 2014 22:49:09 +0100 |
On 13 May 2014 22:22, Richard Henderson <address@hidden> wrote:
> There are a number of problems with the current interpreter:
>
> (1) It uses direct unaligned accesses as part of the bytecode stream.
> This fails with SIGBUS for strict alignment hosts. This could of
> course be fixed to use "proper" unaligned accesses, but this would
> just be slow.
>
> (2) The method by which it implements calls is non-portable, and really
> only works for x86.
>
> (3) The code is full of ifdefs and TODOs that never got completed.
>
> (4) The "registers" are in a global "tci_reg" array that implies that
> if threads are ever used, we'll immediately get corruption. Fixing
> this is complicated by the structure of the interpreter.
>
> (5) It hasn't been updated to the "new" ldst opcodes.
>
> To me, all of this adds up to a complete rewrite.
Does the TCG interpreter actually have any interesting uses
to merit our carrying it around, maintaining it and (in this case)
rewriting it? Mostly I just see it when people accidentally configure
it and I have to say "don't do that, you really want the native TCG
backend".
thanks
-- PMM