CACAO
Macros | Functions
SSAConstructionPass.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_NAME   "compiler2/SSAConstruction"
 

Functions

 STAT_REGISTER_GROUP_VAR (std::size_t, num_icmd_inst, 0,"icmd instructions","ICMD instructions processed (by the compiler2)", compiler2_stat) namespace cacao
 

Macro Definition Documentation

#define DEBUG_NAME   "compiler2/SSAConstruction"

Definition at line 47 of file SSAConstructionPass.cpp.

Function Documentation

STAT_REGISTER_GROUP_VAR ( std::size_t  ,
num_icmd_inst  ,
,
"icmd instructions"  ,
"ICMD instructions processed (by the compiler2)"  ,
compiler2_stat   
)

There are two kinds of variables in the baseline ir. The javalocals as defined in the JVM specification (2.6.1.). These are used for arguments and other values not stored on the JVM stack. These variables are addressed using an index. Every 'slot' can contain values of each basic type. The type is defined by the access instruction (e.g. ILOAD, ISTORE for integer). These instructions are introduced by the java compiler (usually javac). The other group of variables are intended to replace the jvm stack and are created by the baseline parse/stackanalysis pass. In contrast to the javalocals these variables have a fixed typed. They are used as arguments and results for baseline IR instructions. For simplicity of the compiler2 IR both variables groups are treated the same way. Their current definitions are stored in a value numbering table. The number of variables is already known at this point for both types.

Definition at line 51 of file SSAConstructionPass.cpp.