Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 6236 invoked from network); 23 May 2005 13:18:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 23 May 2005 13:18:44 -0000 Received: (qmail 84186 invoked by uid 500); 23 May 2005 13:18:39 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 84109 invoked by uid 500); 23 May 2005 13:18:38 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 84056 invoked by uid 99); 23 May 2005 13:18:38 -0000 X-ASF-Spam-Status: No, hits=0.6 required=10.0 tests=DNS_FROM_RFC_ABUSE,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Received: from mx1.aist.go.jp (HELO mx1.aist.go.jp) (150.29.246.133) by apache.org (qpsmtpd/0.28) with ESMTP; Mon, 23 May 2005 06:18:35 -0700 Received: from rpsmtp1.aist.go.jp (rpsmtp1.aist.go.jp [150.29.254.30] (may be forged)) by mx1.aist.go.jp with ESMTP id j4NDIWQJ020980 for ; Mon, 23 May 2005 22:18:32 +0900 (JST) env-from (shudo@computer.org) Received: from smtp4.aist.go.jp by rpsmtp1.aist.go.jp with ESMTP id j4NDIVqA020205 for ; Mon, 23 May 2005 22:18:31 +0900 (JST) env-from (shudo@computer.org) Received: by smtp4.aist.go.jp with ESMTP id j4NDIU0n016102 for ; Mon, 23 May 2005 22:18:31 +0900 (JST) env-from (shudo@computer.org) Date: Mon, 23 May 2005 08:48:54 +0900 (JST) Message-Id: <20050523.084854.343163557.shudo@aist.go.jp> To: harmony-dev@incubator.apache.org Subject: Re: Other interesting papers and research From: shudo@computer.org In-Reply-To: <42912CAE.4000404@anu.edu.au> References: <135798817.1116804605583.JavaMail.root@set.superlinksoftware.com> <429125B2.1040508@dellroad.org> <42912CAE.4000404@anu.edu.au> X-Mailer: Mew version 4.1 on XEmacs 21.4.17 (Jumbo Shrimp) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N From: Steve Blackburn > > acoliver@apache.org wrote: > > > >> The approach of using C Compiler generated code rather than writing a > >> full compiler appeals to me: > >> http://www.csc.uvic.ca/~csc586a/papers/ertlgregg04.pdf > >> > >> I am curious on how well the approach performs compared to existing > >> JITs. > They automatically build themselves > simple JIT backends (by extracting fragments produced by the ahead of > time compiler). This sounds like a great way to achieve portability > while achiving better performance than a conventional interpreter. I guess it's a bit better or just comparable with a good interpreter. In 1998, I have written such a JIT compiler concatinate code fragments generated by GCC for each JVM instruction. Unfortunately, the JIT was slightly slower than an interpreter in Sun's Classic VM. The interpreter was written in x86 assembly language and implements dynamic stack caching with 2 registers and 3 states. It performs much better than the previous interpreter written in C. Then I rewrote the JIT. I am not very sure which is better for us, having a portable and so-so baseline compiler or a good interpreter which is possibly less portable than the compiler. There will be a trade off between memory consumption, portability and so on. Kazuyuki Shudo shudo@computer.org http://www.shudo.net/