From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60893) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R5Eak-00057Z-S8 for qemu-devel@nongnu.org; Sun, 18 Sep 2011 06:27:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R5Eai-000414-Va for qemu-devel@nongnu.org; Sun, 18 Sep 2011 06:27:18 -0400 Received: from mail-qy0-f180.google.com ([209.85.216.180]:52952) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R5Eai-00040t-PO for qemu-devel@nongnu.org; Sun, 18 Sep 2011 06:27:16 -0400 Received: by qyc1 with SMTP id 1so5077275qyc.4 for ; Sun, 18 Sep 2011 03:27:16 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <4E74FC29.1050003@mail.berlios.de> References: <4E74FC29.1050003@mail.berlios.de> From: Blue Swirl Date: Sun, 18 Sep 2011 10:26:56 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH 0/8] tcg/interpreter: Add TCG + interpreter for bytecode (virtual machine) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: TeLeMan , Stuart Brady , QEMU Developers On Sat, Sep 17, 2011 at 7:59 PM, Stefan Weil wrote: > Hello, > > these patches add a new code generator (TCG target) to qemu. > > Unlike other tcg target code generators, this one does not generate > machine code for some cpu. It generates machine independent bytecode > which is interpreted later. That's why I called it TCI (tiny code > interpreter). > > I wrote most of the code two years ago and included feedback and > contributions from several QEMU developers, notably TeleMan, > Stuart Brady, Blue Swirl and Malc. See the history here: > http://lists.nongnu.org/archive/html/qemu-devel/2009-09/msg01710.html > > Since that time, I used TCI regularly, added small fixes and improvements > and rebased it to latest QEMU. Some versions were tested using > ARM (emulated and real), PowerPC (emulated) and MIPS (emulated) hosts, > but normally I run it on i386 and x86_64 hosts. > > I'd appreciate to see TCI in QEMU 1.0. > > Regards, > Stefan Weil > > The patches 2 and 4 are optional, patch 8 is only needed for running > TCI on a PowerPC host. I think patches 1 to 4 and 8 could be applied soon as they are now, they should benefit plain TCG too. I had some comments to other patches, but otherwise everything looks great. Comparisons to other bytecode interpreters (for example Python) would be interesting, maybe there are also tricks that can be reused. > [PATCH 1/8] tcg: Declare TCG_TARGET_REG_BITS in tcg.h > [PATCH 2/8] tcg: Don't declare TCG_TARGET_REG_BITS in tcg-target.h > [PATCH 3/8] tcg: Add forward declarations for local functions > [PATCH 4/8] tcg: Add some assertions > [PATCH 5/8] tcg: Add interpreter for bytecode > [PATCH 6/8] tcg: Add bytecode generator for tcg interpreter > [PATCH 7/8] tcg: Add tcg interpreter to configure / make > [PATCH 8/8] ppc: Support tcg interpreter on ppc hosts > >