CACAO
|
A segment of the code memory. More...
Data Structures | |
struct | IdxTy |
Prevent mixing indices. More... | |
Public Types | |
typedef SegRef< Tag, RefCategory > | Ref |
Public Member Functions | |
Segment (CodeMemory *CM) | |
Constructor. More... | |
Segment (CodeMemory *CM, IdxTy capacity) | |
Constructor with default capacity. More... | |
CodeMemory * | get_CodeMemory () const |
Get containing CodeMemory. More... | |
CodeMemory & | get_CodeMemory () |
std::size_t | size () const |
get size More... | |
IdxTy | get_following_index () const |
Get the start index of next Reference in line. More... | |
u1 * | get_start () |
get start address More... | |
u1 * | get_end () |
get end address More... | |
u1 & | operator[] (IdxTy i) |
write content More... | |
u1 & | operator[] (std::size_t i) |
u1 | at (std::size_t i) const |
get content More... | |
void | reverse () |
reverse content More... | |
Ref | get_Ref (std::size_t t) |
get a new reference to the segment More... | |
Ref | get_Ref (IdxTy idx, std::size_t t) |
get a reference to the segment More... | |
template<typename Tag2 > | |
IdxTy | insert_tag (Tag2 tag, const Ref &ref) |
insert tag More... | |
template<typename Tag2 > | |
IdxTy | insert_tag (Tag2 tag) |
insert tag More... | |
template<typename Tag2 > | |
bool | contains_tag (Tag2 tag) const |
contains tag More... | |
template<typename Tag2 > | |
IdxTy | get_index (Tag2 tag) const |
get the index of a tag More... | |
OStream & | print (OStream &OS) const |
virtual | ~Segment () |
Static Public Member Functions | |
static bool | is_invalid (IdxTy idx) |
is invalid index More... | |
Private Types | |
typedef alloc::map< SegmentTag < Tag > *, IdxTy, classcomp < Tag > >::type | EntriesTy |
Private Member Functions | |
IdxTy | insert_tag (SegmentTag< Tag > *tag, IdxTy o) |
insert tag More... | |
bool | contains_tag_intern (SegmentTag< Tag > *tag) const |
contains tag More... | |
IdxTy | get_index_intern (SegmentTag< Tag > *tag) const |
get index More... | |
Static Private Member Functions | |
static IdxTy | invalid_index () |
invalid index More... | |
Private Attributes | |
CodeMemory * | CM |
alloc::vector< u1 >::type | content |
content of the segment More... | |
EntriesTy | entries |
tagged entries More... | |
Friends | |
class | SegRef< Tag, RefCategory > |
A segment of the code memory.
Definition at line 78 of file Segment.hpp.
|
private |
Definition at line 114 of file Segment.hpp.
typedef SegRef<Tag,RefCategory> cacao::jit::compiler2::Segment< Tag, RefCategory >::Ref |
Definition at line 112 of file Segment.hpp.
|
inline |
Constructor.
Definition at line 139 of file Segment.hpp.
|
inline |
Constructor with default capacity.
Definition at line 141 of file Segment.hpp.
|
inlinevirtual |
Definition at line 273 of file Segment.hpp.
|
inline |
get content
Definition at line 194 of file Segment.hpp.
|
inline |
contains tag
Definition at line 245 of file Segment.hpp.
|
inlineprivate |
contains tag
Definition at line 128 of file Segment.hpp.
|
inline |
Get containing CodeMemory.
Definition at line 145 of file Segment.hpp.
|
inline |
Definition at line 146 of file Segment.hpp.
|
inline |
get end address
Definition at line 181 of file Segment.hpp.
|
inline |
Get the start index of next Reference in line.
Note that the index may or may not be already present. In the later case the index of the future Reference will be returned
Definition at line 164 of file Segment.hpp.
|
inline |
get the index of a tag
Definition at line 254 of file Segment.hpp.
|
inlineprivate |
get index
Definition at line 132 of file Segment.hpp.
|
inline |
get a new reference to the segment
Definition at line 208 of file Segment.hpp.
|
inline |
get a reference to the segment
Definition at line 219 of file Segment.hpp.
|
inline |
get start address
Definition at line 173 of file Segment.hpp.
|
inlineprivate |
insert tag
Definition at line 123 of file Segment.hpp.
|
inline |
insert tag
Definition at line 225 of file Segment.hpp.
|
inline |
insert tag
Definition at line 230 of file Segment.hpp.
|
inlinestaticprivate |
invalid index
Definition at line 120 of file Segment.hpp.
|
inlinestatic |
is invalid index
Definition at line 156 of file Segment.hpp.
|
inline |
write content
Definition at line 185 of file Segment.hpp.
|
inline |
Definition at line 188 of file Segment.hpp.
|
inline |
Definition at line 263 of file Segment.hpp.
|
inline |
reverse content
Definition at line 203 of file Segment.hpp.
|
inline |
get size
Definition at line 153 of file Segment.hpp.
|
friend |
Definition at line 280 of file Segment.hpp.
|
private |
Definition at line 115 of file Segment.hpp.
|
private |
content of the segment
Definition at line 116 of file Segment.hpp.
|
private |
tagged entries
Definition at line 117 of file Segment.hpp.