Go to the source code of this file.
|
#define | DEBUG_NAME "compiler2/SSAConstruction" |
|
#define | SHOW_TARGET(OS, target) |
|
#define | SHOW_INT_CONST(OS, val) |
|
#define | SHOW_LNG_CONST(OS, val) |
|
#define | SHOW_ADR_CONST(OS, val) |
|
#define | SHOW_FLT_CONST(OS, val) |
|
#define | SHOW_DBL_CONST(OS, val) |
|
#define | SHOW_INDEX(OS, index) |
|
#define | SHOW_STRING(OS, val) |
|
#define | SHOW_CLASSREF_OR_CLASSINFO(OS, c) |
|
#define | SHOW_FIELD(OS, fmiref) |
|
#define | SHOW_VARIABLE(OS, v) show_variable_intern_OS(OS, jd, (v), stage) |
|
#define | SHOW_S1(OS, iptr) |
|
#define | SHOW_S2(OS, iptr) |
|
#define | SHOW_S3(OS, iptr) |
|
#define | SHOW_DST(OS, iptr) |
|
#define | SHOW_S1_LOCAL(OS, iptr) |
|
#define | SHOW_DST_LOCAL(OS, iptr) |
|
|
| STAT_REGISTER_GROUP_VAR (std::size_t, num_icmd_inst, 0,"icmd instructions","ICMD instructions processed (by the compiler2)", compiler2_stat) namespace cacao |
|
#define DEBUG_NAME "compiler2/SSAConstruction" |
#define SHOW_ADR_CONST |
( |
|
OS, |
|
|
|
val |
|
) |
| |
Value:
static SetWidth setw(size_t w)
#define SHOW_CLASSREF_OR_CLASSINFO |
( |
|
OS, |
|
|
|
c |
|
) |
| |
#define SHOW_DBL_CONST |
( |
|
OS, |
|
|
|
val |
|
) |
| |
Value:
imm_union v; \
static SetWidth setw(size_t w)
#define SHOW_DST |
( |
|
OS, |
|
|
|
iptr |
|
) |
| |
Value:
}
#define SHOW_VARIABLE(OS, v)
#define SHOW_DST_LOCAL |
( |
|
OS, |
|
|
|
iptr |
|
) |
| |
Value:
OS <<
"=> L" << iptr->dst.varindex <<
" "; \
} \
OS <<
"=> JavaL" << iptr->dst.varindex <<
" "; \
}
#define SHOW_FIELD |
( |
|
OS, |
|
|
|
fmiref |
|
) |
| |
#define SHOW_FLT_CONST |
( |
|
OS, |
|
|
|
val |
|
) |
| |
Value:
imm_union v; \
} \
}
static SetWidth setw(size_t w)
#define SHOW_INT_CONST |
( |
|
OS, |
|
|
|
val |
|
) |
| |
Value:
OS << (int32_t) (val) <<
"0x" <<
hex <<
setw(8) << (int32_t) (val) <<
dec; \
} \
}
static SetWidth setw(size_t w)
#define SHOW_LNG_CONST |
( |
|
OS, |
|
|
|
val |
|
) |
| |
Value:
static SetWidth setw(size_t w)
#define SHOW_S1 |
( |
|
OS, |
|
|
|
iptr |
|
) |
| |
Value:
}
#define SHOW_VARIABLE(OS, v)
#define SHOW_S1_LOCAL |
( |
|
OS, |
|
|
|
iptr |
|
) |
| |
Value:
OS <<
"L" << iptr->s1.varindex; \
} \
OS <<
"JavaL" << iptr->s1.varindex <<
" "; \
}
#define SHOW_S2 |
( |
|
OS, |
|
|
|
iptr |
|
) |
| |
Value:
}
#define SHOW_VARIABLE(OS, v)
#define SHOW_S3 |
( |
|
OS, |
|
|
|
iptr |
|
) |
| |
Value:
}
#define SHOW_VARIABLE(OS, v)
#define SHOW_STRING |
( |
|
OS, |
|
|
|
val |
|
) |
| |
Value:
} \
}
Utf8String to_utf8() const
Value:
} \
OS <<
"--> insindex " << (
target).insindex; \
}
static SetWidth setw(size_t w)
#define SHOW_VARIABLE |
( |
|
OS, |
|
|
|
v |
|
) |
| show_variable_intern_OS(OS, jd, (v), stage) |
STAT_REGISTER_GROUP_VAR |
( |
std::size_t |
, |
|
|
num_icmd_inst |
, |
|
|
0 |
, |
|
|
"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 48 of file SSAConstructionPass.cpp.