harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Egor Pasko <egor.pa...@gmail.com>
Subject Re: [drlvm][opt][translator] What dose JavaLabelPrepass do?
Date Thu, 17 Jan 2008 08:08:54 GMT
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.

-- 
Egor Pasko


Mime
View raw message