CACAO
Namespaces | Data Structures | Enumerations | Functions | Variables
cacao Namespace Reference

This file contains the Instruction class. More...

Namespaces

 detail
 
 jit
 
 option
 

Data Structures

struct  ThreadRuntime
 
class  PrintableGraph
 
class  GraphPrinter
 
class  OptionPrefix
 
class  OptionParser
 
class  OptionEntry
 
class  OptionBase
 
class  Option
 
class  _ordered_iterator
 ordered iterator More...
 
class  _ordered_const_iterator
 ordered const_iterator More...
 
class  ordered_list
 An ordered_list is an indexed sequence container. More...
 
class  ResetColor
 
class  Bold
 
class  NoBold
 
class  Underline
 
class  NoUnderline
 
class  OStream
 Simple stream class for formatted output. More...
 
class  SetWidth
 Set width flag for next item to be written. More...
 
class  SetZero
 Set width flag and fill zero for next item to be written. More...
 
class  SetPrecision
 Set precision flag for next item to be written. More...
 
class  SetIndent
 Set indent level in stream. More...
 
class  SetPrefix
 Set stream prefix. More...
 
class  FillZero
 
class  Left
 
class  Right
 
class  Dec
 
class  Oct
 
class  Hex
 
class  FloatDec
 
class  Scientific
 
class  FloatHex
 
class  Indent
 
class  Dedent
 
class  Nl
 
class  Flush
 
class  ThreadId
 
class  UnionFind
 
class  UnionFindImpl
 
struct  DescriptorPool
 
class  Patcher
 Patcher super class. More...
 
class  LegacyPatcher
 
class  PatcherBase
 Base class for all (non-legacy) patcher. More...
 
class  InitializeClassPatcher
 
struct  ClassFileVersion
 A version of the Java class file format. More...
 
struct  ClassBuffer
 
struct  numeric_limits
 
struct  numeric_limits< signed char >
 C++11 INTXX_MIN etc are available in C++11. More...
 
struct  numeric_limits< char >
 
struct  numeric_limits< short >
 
struct  numeric_limits< int >
 
struct  numeric_limits< long >
 
struct  numeric_limits< unsigned short >
 
struct  numeric_limits< unsigned int >
 
struct  numeric_limits< unsigned char >
 
struct  numeric_limits< unsigned long int >
 

Enumerations

enum  Color {
  InvalidColor = 0, Black, Red, Green,
  Yellow, Blue, Magenta, Cyan,
  White, BoldBlack, BoldRed, BoldGreen,
  BoldYellow, BoldBlue, BoldMagenta, BoldCyan,
  BoldWhite
}
 

Functions

static uint8_t read_u1_le (const uint8_t *src)
 
static uint16_t read_u2_le (const uint8_t *src)
 
static uint32_t read_u4_le (const uint8_t *src)
 
static uint64_t read_u8_le (const uint8_t *src)
 
static int8_t read_s1_le (const uint8_t *src)
 read int8_t from pointer little endian More...
 
static int16_t read_s2_le (const uint8_t *src)
 read int16_t from pointer little endian More...
 
static int32_t read_s4_le (const uint8_t *src)
 read int32_t from pointer little endian More...
 
static int64_t read_s8_le (const uint8_t *src)
 read int64_t from pointer little endian More...
 
static uint8_t read_u1_be (const uint8_t *src)
 read uint8_t from pointer big endian More...
 
static uint16_t read_u2_be (const uint8_t *src)
 read uint16_t from pointer big endian More...
 
static uint32_t read_u4_be (const uint8_t *src)
 read uint32_t from pointer big endian More...
 
static uint64_t read_u8_be (const uint8_t *src)
 read uint64_t from pointer big endian More...
 
static int8_t read_s1_be (const uint8_t *src)
 read int8_t from pointer big endian More...
 
static int16_t read_s2_be (const uint8_t *src)
 read int16_t from pointer big endian More...
 
static int32_t read_s4_be (const uint8_t *src)
 read int32_t from pointer big endian More...
 
static int64_t read_s8_be (const uint8_t *src)
 read int64_t from pointer big endian More...
 
static float read_float_be (const uint8_t *src)
 
static double read_double_be (const uint8_t *src)
 
OStreamdbg ()
 The default destination for logging messages. More...
 
std::size_t option_print (OptionEntry &option, OStream &OS)
 
std::size_t option_print (OptionBase< bool > &option, OStream &OS)
 
template<class T , class Allocator >
bool operator== (const ordered_list< T, Allocator > &lhs, const ordered_list< T, Allocator > &rhs)
 equality More...
 
template<class T , class Allocator >
bool operator!= (const ordered_list< T, Allocator > &lhs, const ordered_list< T, Allocator > &rhs)
 inequality More...
 
OStreamerr ()
 
OStreamout ()
 
static SetWidth setw (size_t w)
 
static SetZero setz (size_t w)
 
static SetPrecision setprecision (int p)
 
static SetIndent setindent (size_t i)
 
static SetPrefix setprefix (const char *prefix, Color color)
 
template<class _ForwardIterator >
OStreamprint_container (OStream &OS, _ForwardIterator i, const _ForwardIterator &e)
 
template<class _ForwardIterator >
OStreamprint_ptr_container (OStream &OS, _ForwardIterator i, const _ForwardIterator &e)
 
OStreamoperator<< (OStream &OS, const std::string &t)
 
static java_handle_objectarray_tannotation_bytearrays_resize (java_handle_objectarray_t *bytearrays, uint32_t size)
 
static java_handle_tannotation_bytearrays_insert (java_handle_t *bytearrays, uint32_t index, java_handle_bytearray_t *bytearray)
 
static bool annotation_load_attribute_body (ClassBuffer &cb, java_handle_bytearray_t **attribute, const char *errormsg_prefix)
 
bool annotation_load_method_attribute_annotationdefault (ClassBuffer &cb, methodinfo *m)
 
bool annotation_load_method_attribute_runtimevisibleparameterannotations (ClassBuffer &cb, methodinfo *m)
 
bool annotation_load_method_attribute_runtimeinvisibleparameterannotations (ClassBuffer &cb, methodinfo *m)
 
bool annotation_load_class_attribute_runtimevisibleannotations (ClassBuffer &cb)
 
bool annotation_load_class_attribute_runtimeinvisibleannotations (ClassBuffer &cb)
 
bool annotation_load_method_attribute_runtimevisibleannotations (ClassBuffer &cb, methodinfo *m)
 
bool annotation_load_method_attribute_runtimeinvisibleannotations (ClassBuffer &cb, methodinfo *m)
 
bool annotation_load_field_attribute_runtimevisibleannotations (ClassBuffer &cb, fieldinfo *f)
 
bool annotation_load_field_attribute_runtimeinvisibleannotations (ClassBuffer &cb, fieldinfo *f)
 
OStreamoperator<< (OStream &os, const classinfo *c)
 
OStreamoperator<< (OStream &OS, const rplpoint *rp)
 
OStreamoperator<< (OStream &OS, const rplpoint &rp)
 
OStreamoperator<< (OStream &OS, const rplalloc *ra)
 
OStreamoperator<< (OStream &OS, const rplalloc &ra)
 
OStreamoperator<< (OStream &OS, const sourceframe_t *frame)
 
static OStreamreplace_val_print (OStream &OS, s4 type, replace_val_t value)
 
static OStreamprint_replace_vals (OStream &OS, replace_val_t *values, u1 *types, s4 count)
 
OStreamoperator<< (OStream &OS, const sourceframe_t &frame)
 
OStreamoperator<< (OStream &OS, const sourcestate_t *ss)
 
OStreamoperator<< (OStream &OS, const sourcestate_t &ss)
 
OStreamoperator<< (OStream &OS, const struct methodinfo &m)
 
template<class T , class A >
bool fits_into (A a)
 
OStreamoperator<< (OStream &os, const Utf8String &u)
 

Variables

FillZero fillzero
 
Left left
 
Right right
 
Dec dec
 
Oct oct
 
Hex hex
 
FloatDec float_dec
 
Scientific scientific
 
FloatHex float_hex
 
Indent indent
 
Dedent dedent
 
Nl nl
 
Flush flush
 
ThreadId threadid
 
ResetColor reset_color
 
Bold bold
 
NoBold nobold
 
Underline underline
 
NoUnderline nounderline
 
return true
 

Detailed Description

This file contains the Instruction class.

The Instruction class is the base class for all other instruction types. They are defined in Instructions.hpp.

Enumeration Type Documentation

Enumerator
InvalidColor 
Black 
Red 
Green 
Yellow 
Blue 
Magenta 
Cyan 
White 
BoldBlack 
BoldRed 
BoldGreen 
BoldYellow 
BoldBlue 
BoldMagenta 
BoldCyan 
BoldWhite 

Definition at line 63 of file OStream.hpp.

Function Documentation

static java_handle_t* cacao::annotation_bytearrays_insert ( java_handle_t bytearrays,
uint32_t  index,
java_handle_bytearray_t bytearray 
)
static

Definition at line 123 of file annotation.cpp.

static java_handle_objectarray_t* cacao::annotation_bytearrays_resize ( java_handle_objectarray_t bytearrays,
uint32_t  size 
)
static

Definition at line 68 of file annotation.cpp.

static bool cacao::annotation_load_attribute_body ( ClassBuffer &  cb,
java_handle_bytearray_t **  attribute,
const char *  errormsg_prefix 
)
static

Definition at line 191 of file annotation.cpp.

bool cacao::annotation_load_class_attribute_runtimeinvisibleannotations ( ClassBuffer &  cb)

Definition at line 439 of file annotation.cpp.

bool cacao::annotation_load_class_attribute_runtimevisibleannotations ( ClassBuffer &  cb)

Definition at line 412 of file annotation.cpp.

bool cacao::annotation_load_field_attribute_runtimeinvisibleannotations ( ClassBuffer &  cb,
fieldinfo f 
)

Definition at line 576 of file annotation.cpp.

bool cacao::annotation_load_field_attribute_runtimevisibleannotations ( ClassBuffer &  cb,
fieldinfo f 
)

Definition at line 527 of file annotation.cpp.

bool cacao::annotation_load_method_attribute_annotationdefault ( ClassBuffer &  cb,
methodinfo m 
)

Definition at line 257 of file annotation.cpp.

bool cacao::annotation_load_method_attribute_runtimeinvisibleannotations ( ClassBuffer &  cb,
methodinfo m 
)

Definition at line 507 of file annotation.cpp.

bool cacao::annotation_load_method_attribute_runtimeinvisibleparameterannotations ( ClassBuffer &  cb,
methodinfo m 
)

Definition at line 394 of file annotation.cpp.

bool cacao::annotation_load_method_attribute_runtimevisibleannotations ( ClassBuffer &  cb,
methodinfo m 
)

Definition at line 458 of file annotation.cpp.

bool cacao::annotation_load_method_attribute_runtimevisibleparameterannotations ( ClassBuffer &  cb,
methodinfo m 
)

Definition at line 316 of file annotation.cpp.

OStream& cacao::dbg ( )

The default destination for logging messages.

OStream & cacao::err ( )

Definition at line 33 of file OStream.cpp.

template<class T , class A >
bool cacao::fits_into ( a)
inline

Definition at line 162 of file types.hpp.

template<class T , class Allocator >
bool cacao::operator!= ( const ordered_list< T, Allocator > &  lhs,
const ordered_list< T, Allocator > &  rhs 
)
inline

inequality

Definition at line 190 of file ordered_list.hpp.

OStream& cacao::operator<< ( OStream &  OS,
const std::string &  t 
)
inline

Definition at line 459 of file OStream.hpp.

OStream & cacao::operator<< ( OStream os,
const Utf8String u 
)

Definition at line 677 of file utf8.cpp.

cacao::OStream & cacao::operator<< ( OStream OS,
const struct methodinfo m 
)

Definition at line 1300 of file method.cpp.

OStream& cacao::operator<< ( OStream OS,
const rplpoint *  rp 
)

Definition at line 2045 of file replace.cpp.

OStream& cacao::operator<< ( OStream OS,
const rplpoint &  rp 
)

Definition at line 2052 of file replace.cpp.

OStream& cacao::operator<< ( OStream OS,
const rplalloc *  ra 
)

Definition at line 2091 of file replace.cpp.

OStream& cacao::operator<< ( OStream OS,
const rplalloc &  ra 
)

Definition at line 2098 of file replace.cpp.

OStream& cacao::operator<< ( OStream OS,
const sourceframe_t *  frame 
)

Definition at line 2143 of file replace.cpp.

OStream& cacao::operator<< ( OStream OS,
const sourceframe_t &  frame 
)

Definition at line 2206 of file replace.cpp.

OStream& cacao::operator<< ( OStream OS,
const sourcestate_t *  ss 
)

Definition at line 2279 of file replace.cpp.

OStream& cacao::operator<< ( OStream OS,
const sourcestate_t &  ss 
)

Definition at line 2286 of file replace.cpp.

OStream & cacao::operator<< ( OStream os,
const classinfo c 
)

Definition at line 2487 of file class.cpp.

template<class T , class Allocator >
bool cacao::operator== ( const ordered_list< T, Allocator > &  lhs,
const ordered_list< T, Allocator > &  rhs 
)
inline

equality

Definition at line 183 of file ordered_list.hpp.

std::size_t cacao::option_print ( OptionEntry &  option,
OStream &  OS 
)

Definition at line 84 of file Option.cpp.

std::size_t cacao::option_print ( OptionBase< bool > &  option,
OStream &  OS 
)

Definition at line 89 of file Option.cpp.

OStream & cacao::out ( )

Definition at line 39 of file OStream.cpp.

template<class _ForwardIterator >
OStream& cacao::print_container ( OStream &  OS,
_ForwardIterator  i,
const _ForwardIterator &  e 
)
inline

Definition at line 436 of file OStream.hpp.

template<class _ForwardIterator >
OStream& cacao::print_ptr_container ( OStream &  OS,
_ForwardIterator  i,
const _ForwardIterator &  e 
)
inline

Definition at line 448 of file OStream.hpp.

static OStream& cacao::print_replace_vals ( OStream OS,
replace_val_t *  values,
u1 types,
s4  count 
)
static

Definition at line 2188 of file replace.cpp.

static double cacao::read_double_be ( const uint8_t *  src)
inlinestatic

Definition at line 158 of file endianess.hpp.

static float cacao::read_float_be ( const uint8_t *  src)
inlinestatic

Definition at line 139 of file endianess.hpp.

static int8_t cacao::read_s1_be ( const uint8_t *  src)
inlinestatic

read int8_t from pointer big endian

Definition at line 126 of file endianess.hpp.

static int8_t cacao::read_s1_le ( const uint8_t *  src)
inlinestatic

read int8_t from pointer little endian

Definition at line 79 of file endianess.hpp.

static int16_t cacao::read_s2_be ( const uint8_t *  src)
inlinestatic

read int16_t from pointer big endian

Definition at line 129 of file endianess.hpp.

static int16_t cacao::read_s2_le ( const uint8_t *  src)
inlinestatic

read int16_t from pointer little endian

Definition at line 82 of file endianess.hpp.

static int32_t cacao::read_s4_be ( const uint8_t *  src)
inlinestatic

read int32_t from pointer big endian

Definition at line 132 of file endianess.hpp.

static int32_t cacao::read_s4_le ( const uint8_t *  src)
inlinestatic

read int32_t from pointer little endian

Definition at line 85 of file endianess.hpp.

static int64_t cacao::read_s8_be ( const uint8_t *  src)
inlinestatic

read int64_t from pointer big endian

Definition at line 135 of file endianess.hpp.

static int64_t cacao::read_s8_le ( const uint8_t *  src)
inlinestatic

read int64_t from pointer little endian

Definition at line 88 of file endianess.hpp.

static uint8_t cacao::read_u1_be ( const uint8_t *  src)
inlinestatic

read uint8_t from pointer big endian

Definition at line 93 of file endianess.hpp.

static uint8_t cacao::read_u1_le ( const uint8_t *  src)
inlinestatic

Definition at line 47 of file endianess.hpp.

static uint16_t cacao::read_u2_be ( const uint8_t *  src)
inlinestatic

read uint16_t from pointer big endian

Definition at line 98 of file endianess.hpp.

static uint16_t cacao::read_u2_le ( const uint8_t *  src)
inlinestatic

Definition at line 51 of file endianess.hpp.

static uint32_t cacao::read_u4_be ( const uint8_t *  src)
inlinestatic

read uint32_t from pointer big endian

Definition at line 104 of file endianess.hpp.

static uint32_t cacao::read_u4_le ( const uint8_t *  src)
inlinestatic

Definition at line 56 of file endianess.hpp.

static uint64_t cacao::read_u8_be ( const uint8_t *  src)
inlinestatic

read uint64_t from pointer big endian

Definition at line 112 of file endianess.hpp.

static uint64_t cacao::read_u8_le ( const uint8_t *  src)
inlinestatic

Definition at line 63 of file endianess.hpp.

static OStream& cacao::replace_val_print ( OStream OS,
s4  type,
replace_val_t  value 
)
static

Definition at line 2150 of file replace.cpp.

static SetIndent cacao::setindent ( size_t  i)
inlinestatic

Definition at line 404 of file OStream.hpp.

static SetPrecision cacao::setprecision ( int  p)
inlinestatic

Definition at line 401 of file OStream.hpp.

static SetPrefix cacao::setprefix ( const char *  prefix,
Color  color 
)
inlinestatic

Definition at line 407 of file OStream.hpp.

static SetWidth cacao::setw ( size_t  w)
inlinestatic

Definition at line 395 of file OStream.hpp.

static SetZero cacao::setz ( size_t  w)
inlinestatic

Definition at line 398 of file OStream.hpp.

Variable Documentation

Bold cacao::bold

Definition at line 62 of file OStream.cpp.

Dec cacao::dec

Definition at line 48 of file OStream.cpp.

Dedent cacao::dedent

Definition at line 55 of file OStream.cpp.

FillZero cacao::fillzero

Definition at line 45 of file OStream.cpp.

FloatDec cacao::float_dec

Definition at line 51 of file OStream.cpp.

FloatHex cacao::float_hex

Definition at line 53 of file OStream.cpp.

Flush cacao::flush

Definition at line 57 of file OStream.cpp.

Hex cacao::hex

Definition at line 50 of file OStream.cpp.

Indent cacao::indent

Definition at line 54 of file OStream.cpp.

Left cacao::left

Definition at line 46 of file OStream.cpp.

Nl cacao::nl

Definition at line 56 of file OStream.cpp.

NoBold cacao::nobold

Definition at line 63 of file OStream.cpp.

NoUnderline cacao::nounderline

Definition at line 65 of file OStream.cpp.

Oct cacao::oct

Definition at line 49 of file OStream.cpp.

ResetColor cacao::reset_color

Definition at line 61 of file OStream.cpp.

Right cacao::right

Definition at line 47 of file OStream.cpp.

Scientific cacao::scientific

Definition at line 52 of file OStream.cpp.

ThreadId cacao::threadid

Definition at line 59 of file OStream.cpp.

return cacao::true

Definition at line 104 of file PatcherNew.cpp.

Underline cacao::underline

Definition at line 64 of file OStream.cpp.