From: Erik Brangs <erik.brangs@gm...> - 2013-12-02 11:36:43
On 30.11.2013 02:39, Suvarin Ploysee wrote:
Please state your affiliation when posting on the mailing lists for the first time.
> I'm stuck, but some have questions I hope others can help answer.
We will be able to help you better if you give us some information on your goals. What are you trying to understand or do?
> I'm just getting started and sorry if some of these are basic...
Basic questions about the code are ok. Questions about the "bigger picture" are supposed to be answered by selected papers (see recommended reading) and the User Guide. We appreciate any constructive criticism about their shortcomings.
> 4. Does the RVMThread work on compilation time or runtime?
RVMThread is the VM-internal implementation class for threads. Among other things, it is used for methods in java.lang.Thread that require runtime support (e.g. wait(), notify(), ...).
I'm not quite sure what you want to know. When you say "compile time", do you mean the time when the bootimage is being built (i.e. the Jikes RVM compilers compile the JVM while executing on a host JMV such as HotSpot) or when the Jikes RVM runs and one of its compilers compiles a method?
> 1. What classes relate to the Compilation Plan? [...]
That depends on what you're interested in.
RVMClass is the VM-internal representation for a Java class that is a reference type, i.e. a "normal" Java class.
RVMMethod is the VM-internal representation for a Java method. RVMMethod mostly deals with information that can be read at the bytecode level. For the machine code and associated information, see CompiledMethod.
> 2. How to start create CFG of the application and what classes relate to create CFG? When do we can create CFG?
For the optimizing compiler, the initial construction of the CFG and IR is done in BC2IR. To find the related classes, just use the appropriate functions that the IDE of your choice provides.
> What is the CFG look like?
The optimizing compiler in the Jikes RVM uses a factored control flow graph. Please read the JavaDoc of ControlFlowGraph (and possibly the paper linked from there) if you need more information.