On 13 May 2014 22:22, Richard Henderson <r...@twiddle.net> 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