harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Chow" <simon.harm...@gmail.com>
Subject Re: [drlvm][opt][translator] What dose JavaLabelPrepass do?
Date Thu, 17 Jan 2008 09:04:00 GMT
On 17 Jan 2008 11:08:54 +0300, Egor Pasko <egor.pasko@gmail.com> 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.

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.
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?

> Egor Pasko

>From : Simon.Chow@Software School of Fudan University

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message