CACAO
|
Provides a mapping from HIR values to baseline IR variables. More...
Data Structures | |
struct | Javalocal |
Maps a HIR value to a baseline IR javalocal index. More... | |
Private Types | |
typedef alloc::vector < Javalocal >::type | JavalocalListTy |
typedef alloc::vector< Value * > ::type | StackvarListTy |
typedef alloc::vector< Value * > ::type | ParamListTy |
Private Attributes | |
s4 | source_location |
The program location corresponding to the provided mapping information. More... | |
SourceStateInst * | parent |
The state of the enclosing method in case we are in an inlined region. More... | |
JavalocalListTy | javalocals |
List of mappings from HIR values to baseline IR javalocal indices. More... | |
StackvarListTy | stackvars |
List of HIR values that correspond to baseline IR stack variables. More... | |
ParamListTy | params |
List of HIR values that correspond to method parameters. More... | |
Additional Inherited Members | |
![]() | |
static void * | operator new (std::size_t size) throw (std::bad_alloc) |
normal new More... | |
static void * | operator new (std::size_t size, void *ptr) throw () |
placement new More... | |
static void * | operator new (std::size_t size, const std::nothrow_t &nt) throw () |
nothrow new More... | |
static void | operator delete (void *pMemory) throw () |
normal delete More... | |
static void | operator delete (void *pMemory, void *ptr) throw () |
placement delete More... | |
static void | operator delete (void *pMemory, const std::nothrow_t &) throw () |
nothrow delete More... | |
static void * | operator new[] (std::size_t size) throw (std::bad_alloc) |
normal new[] More... | |
static void * | operator new[] (std::size_t size, void *ptr) throw () |
placement new[] More... | |
static void * | operator new[] (std::size_t size, const std::nothrow_t &nt) throw () |
nothrow new[] More... | |
static void | operator delete[] (void *pMemory) throw () |
normal delete[] More... | |
static void | operator delete[] (void *pMemory, void *ptr) throw () |
placement delete[] More... | |
static void | operator delete[] (void *pMemory, const std::nothrow_t &) throw () |
nothrow delete[] More... | |
![]() | |
Instruction () | |
void | append_op (Value *v) |
OStream & | print_operands (OStream &OS) |
![]() | |
void | append_user (Instruction *I) |
OStream & | print_users (OStream &OS) const |
void | user_remove (Instruction *I) |
void | set_type (Type::TypeID t) |
![]() | |
const InstID | opcode |
Method * | method |
const int | id |
BeginInst * | begin |
Provides a mapping from HIR values to baseline IR variables.
In order to reconstruct the source state during on-stack replacement, it is necessary to be able to reconstruct the machine-independent source state from the current machine-dependent execution state. Due to the generality of the baseline compiler's IR the on-stack replacement mechanism represents the source state in terms of the baseline IR variables. Hence, it is necessary to be able to map compiler2-specific HIR values to baseline IR variables. A SourceStateInst provides such mapping information for a single program location which is identified by the (machine-independent) ID of the corresponding baseline IR instruction.
Definition at line 158 of file Instructions.hpp.
typedef JavalocalListTy::const_iterator cacao::jit::compiler2::SourceStateInst::const_javalocal_iterator |
Definition at line 223 of file Instructions.hpp.
typedef ParamListTy::const_iterator cacao::jit::compiler2::SourceStateInst::const_param_iterator |
Definition at line 225 of file Instructions.hpp.
typedef StackvarListTy::const_iterator cacao::jit::compiler2::SourceStateInst::const_stackvar_iterator |
Definition at line 224 of file Instructions.hpp.
|
private |
Definition at line 187 of file Instructions.hpp.
|
private |
Definition at line 189 of file Instructions.hpp.
|
private |
Definition at line 188 of file Instructions.hpp.
|
inlineexplicit |
Construct a SourceStateInst.
source_location | The ID of the baseline IR instruction at the mapped program location. |
hir_location | The HIR instruction that corresponds to the given source_location . |
Definition at line 235 of file Instructions.hpp.
|
inlinevirtual |
Visitor pattern.
Implements cacao::jit::compiler2::Instruction.
Definition at line 338 of file Instructions.hpp.
Append a new mapping from a HIR Value to a baseline IR javalocal index.
local | The Javalocal to append. |
Definition at line 273 of file Instructions.hpp.
Append a new value to corresponds to a method parameter.
value | The value to append. |
Definition at line 293 of file Instructions.hpp.
Append a new value to corresponds to a baseline IR stack variable.
value | The value to append. |
Definition at line 283 of file Instructions.hpp.
|
inlinevirtual |
Get the BeginInst of the block that contains this SourceStateInst.
Reimplemented from cacao::jit::compiler2::Instruction.
Definition at line 245 of file Instructions.hpp.
|
inline |
Definition at line 259 of file Instructions.hpp.
|
inline |
Definition at line 254 of file Instructions.hpp.
|
inlinevirtual |
For now we prevent floating to avoid unforeseen instruction reordering.
Reimplemented from cacao::jit::compiler2::Instruction.
Definition at line 328 of file Instructions.hpp.
|
inlinevirtual |
Reimplemented from cacao::jit::compiler2::Instruction.
Definition at line 323 of file Instructions.hpp.
|
inline |
Definition at line 298 of file Instructions.hpp.
|
inline |
Definition at line 299 of file Instructions.hpp.
|
inline |
Definition at line 304 of file Instructions.hpp.
|
inline |
Definition at line 305 of file Instructions.hpp.
|
inlinevirtual |
Reimplemented from cacao::jit::compiler2::Instruction.
Definition at line 307 of file Instructions.hpp.
|
inline |
Set state of the enclosing method in case we are in an inlined region.
new_parent | The corresponding source state. |
Definition at line 266 of file Instructions.hpp.
|
inline |
Definition at line 301 of file Instructions.hpp.
|
inline |
Definition at line 302 of file Instructions.hpp.
|
inlinevirtual |
Conversion method.
Reimplemented from cacao::jit::compiler2::Instruction.
Definition at line 333 of file Instructions.hpp.
|
private |
List of mappings from HIR values to baseline IR javalocal indices.
Definition at line 209 of file Instructions.hpp.
|
private |
List of HIR values that correspond to method parameters.
Definition at line 219 of file Instructions.hpp.
|
private |
The state of the enclosing method in case we are in an inlined region.
Definition at line 204 of file Instructions.hpp.
|
private |
The program location corresponding to the provided mapping information.
The mappings of HIR values to baseline IR variables, which are given by this SourceStateInst, are bound to this exact program location. This location is given in terms of an ID of the corresponding baseline IR instruction.
Definition at line 199 of file Instructions.hpp.
|
private |
List of HIR values that correspond to baseline IR stack variables.
Definition at line 214 of file Instructions.hpp.