On the 0x3CE day of Apache Harmony Simon Chow wrote: > On 17 Jan 2008 11:08:54 +0300, Egor Pasko <[EMAIL PROTECTED]> 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
