Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 83012 invoked from network); 17 Jan 2008 10:31:58 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Jan 2008 10:31:58 -0000 Received: (qmail 15713 invoked by uid 500); 17 Jan 2008 10:31:46 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 15532 invoked by uid 500); 17 Jan 2008 10:31:46 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 15523 invoked by uid 99); 17 Jan 2008 10:31:46 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 17 Jan 2008 02:31:46 -0800 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gcjhd-harmony-dev@m.gmane.org designates 80.91.229.2 as permitted sender) Received: from [80.91.229.2] (HELO ciao.gmane.org) (80.91.229.2) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 17 Jan 2008 10:31:31 +0000 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1JFS1n-0001PS-0Q for dev@harmony.apache.org; Thu, 17 Jan 2008 10:31:19 +0000 Received: from 89.175.165.2 ([89.175.165.2]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 17 Jan 2008 10:31:19 +0000 Received: from egor.pasko by 89.175.165.2 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 17 Jan 2008 10:31:19 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: dev@harmony.apache.org From: Egor Pasko Subject: Re: [drlvm][opt][translator] What dose JavaLabelPrepass do? Date: 17 Jan 2008 13:31:05 +0300 Lines: 57 Message-ID: <0vqfxwwlp5i.fsf@gmail.com> References: <3db9f87f0801160524t116f4e6dv9a6e5e9e87d81bb@mail.gmail.com> <0vqk5m8lvqh.fsf@gmail.com> <3db9f87f0801170104x6282a0ffi7e8595ad5533e61c@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 89.175.165.2 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 Sender: news X-Virus-Checked: Checked by ClamAV on apache.org On the 0x3CE day of Apache Harmony Simon Chow wrote: > On 17 Jan 2008 11:08:54 +0300, Egor Pasko wrote: > > > > On the 0x3CD day of Apache Harmony Simon Chow wrote: > > > I am studying OPT in jitrino. For understanding the process of building > > CFG, > > > I have read some code of JavaByteCodeTranslator. > > > In the constructor of JavaByteCodeTranslator, there is an additional > > pass > > > named JavaLabelPrepass, > > > I would like to ask what is the exact purpose of this pass? > > > > the purpose is to mark basic blocks and inference stack variables and > > local variables with their types. > > > > This information goes to the input of JavaByteCodeTranslator, which in > > single pass goes through each bytecode instruction and converts it to > > operand-based representation from the stack-based in bytecode. > > > > The problem is a little tricky (with variable merging logic) and > > current design is poor. > > > > > Besides this, It is seems that the translator part will be refined, > > which I > > > saw in the wiki. Has it already been done in the current version? > > > Thanks! > > > > no, translator is not refined, low priority task. > > > > Why do you study the process of building CFG? If you want to do > > something with it, I would suggest to try some other place since all > > JIT people here will agree that debugging JavalabelPrepass is > > brain-damaging. > > > Thank! > I am doing a project for combining static compiler with dynamic compilation > environment (jitrino.OPT) > As first step, now I am planning to translate the Harmony IR to WHIRL. hm, do you have a kind of draft design document on how you want to do this? ..probably Harmony gurus can give some valuable input having read this doc. > But I can not find more information for the CFG structure in jitrino.OPT, > which leads me to read the code in translation part. :( > Any advice for this? there is no complete reference guide for HIR instructions yet. Once I gave advice on this: http://article.gmane.org/gmane.comp.java.harmony.devel/24474/ feel free to ask specific questions on CFG and instructions :) -- Egor Pasko