CACAO
|
Go to the source code of this file.
Data Structures | |
struct | interface_info |
struct | jitdata |
struct | exception_entry |
struct | basicblock |
Macros | |
#define | COUNT(x) /* nothing */ |
#define | COUNT_SPILLS /* nothing */ |
#define | COUNT_READ_SPILLS(x) /* nothing */ |
#define | COUNT_WRITE_SPILLS(x) /* nothing */ |
#define | FOR_EACH_BASICBLOCK(jd, it) for ((it) = (jd)->basicblocks; (it) != NULL; (it) = (it)->next) |
#define | JITDATA_FLAG_PARSE 0x00000001 |
#define | JITDATA_FLAG_VERIFY 0x00000002 |
#define | JITDATA_FLAG_INSTRUMENT 0x00000004 |
#define | JITDATA_FLAG_IFCONV 0x00000008 |
#define | JITDATA_FLAG_REORDER 0x00000010 |
#define | JITDATA_FLAG_INLINE 0x00000020 |
#define | JITDATA_FLAG_COUNTDOWN 0x00000100 |
#define | JITDATA_FLAG_SHOWINTERMEDIATE 0x20000000 |
#define | JITDATA_FLAG_SHOWDISASSEMBLE 0x40000000 |
#define | JITDATA_FLAG_VERBOSECALL 0x80000000 |
#define | JITDATA_HAS_FLAG_PARSE(jd) ((jd)->flags & JITDATA_FLAG_PARSE) |
#define | JITDATA_HAS_FLAG_VERIFY(jd) ((jd)->flags & JITDATA_FLAG_VERIFY) |
#define | JITDATA_HAS_FLAG_INSTRUMENT(jd) ((jd)->flags & JITDATA_FLAG_INSTRUMENT) |
#define | JITDATA_HAS_FLAG_IFCONV(jd) ((jd)->flags & JITDATA_FLAG_IFCONV) |
#define | JITDATA_HAS_FLAG_REORDER(jd) ((jd)->flags & JITDATA_FLAG_REORDER) |
#define | JITDATA_HAS_FLAG_INLINE(jd) ((jd)->flags & JITDATA_FLAG_INLINE) |
#define | JITDATA_HAS_FLAG_COUNTDOWN(jd) ((jd)->flags & JITDATA_FLAG_COUNTDOWN) |
#define | JITDATA_HAS_FLAG_SHOWINTERMEDIATE(jd) ((jd)->flags & JITDATA_FLAG_SHOWINTERMEDIATE) |
#define | JITDATA_HAS_FLAG_SHOWDISASSEMBLE(jd) ((jd)->flags & JITDATA_FLAG_SHOWDISASSEMBLE) |
#define | JITDATA_HAS_FLAG_VERBOSECALL(jd) ((jd)->flags & JITDATA_FLAG_VERBOSECALL) |
#define | VAROP(v) (jd->var + (v).varindex) |
#define | VAR(i) (jd->var + (i)) |
#define | BBFLAG_REPLACEMENT 0x01 /* put a replacement point at the start */ |
#define | FOR_EACH_SUCCESSOR(bptr, it) for ((it) = (bptr)->successors; (it) != (bptr)->successors + (bptr)->successorcount; ++(it)) |
#define | FOR_EACH_PREDECESSOR(bptr, it) |
#define | FOR_EACH_INSTRUCTION(bptr, it) for ((it) = (bptr)->iinstr; (it) != (bptr)->iinstr + (bptr)->icount; ++(it)) |
#define | FOR_EACH_INSTRUCTION_REV(bptr, it) for ((it) = (bptr)->iinstr + (bptr)->icount - 1; (it) != (bptr)->iinstr - 1; --(it)) |
#define | JAVALOCAL_FROM_RETADDR(nr) (jitdata::UNUSED - (1 + (nr))) |
#define | RETADDR_FROM_JAVALOCAL(jl) (jitdata::UNUSED - (1 + (jl))) |
#define | BASICBLOCK_INIT(bptr, m) |
#define | REG_RES 0 /* reserved register for OS or code generator */ |
#define | REG_RET 1 /* return value register */ |
#define | REG_EXC 2 /* exception value register */ |
#define | REG_SAV 3 /* (callee) saved register */ |
#define | REG_TMP 4 /* scratch temporary register (caller saved) */ |
#define | REG_ARG 5 /* argument register (caller saved) */ |
#define | REG_END -1 /* last entry in tables */ |
#define | PARAMMODE_NUMBERED 0 |
#define | PARAMMODE_STUFFED 1 |
Typedefs | |
typedef struct interface_info | interface_info |
Functions | |
static bool | var_is_local (const jitdata *jd, s4 i) |
static bool | var_is_prealloc (const jitdata *jd, s4 i) |
static bool | var_is_inout (const jitdata *jd, s4 i) |
static bool | var_is_temp (const jitdata *jd, s4 i) |
static bool | var_is_saved (const jitdata *jd, s4 i) |
static bool | basicblock_reached (const basicblock *bptr) |
void | jit_init (void) |
void | jit_close (void) |
jitdata * | jit_jitdata_new (methodinfo *m) |
u1 * | jit_compile (methodinfo *m) |
u1 * | jit_recompile (methodinfo *m) |
void | jit_invalidate_code (methodinfo *m) |
codeinfo * | jit_get_current_code (methodinfo *m) |
void | jit_request_optimization (methodinfo *m) |
void * | jit_asm_compile (methodinfo *m, void *mptr, void *sp, void *ra) |
void * | jit_compile_handle (methodinfo *m, void *pv, void *ra, void *mptr) |
ICMD | jit_complement_condition (ICMD opcode) |
void | jit_renumber_basicblocks (jitdata *jd) |
void | jit_check_basicblock_numbers (jitdata *jd) |
void | md_init (void) |
void * | md_jit_method_patch_address (void *pv, void *ra, void *mptr) |
#define BASICBLOCK_INIT | ( | bptr, | |
m | |||
) |
#define BBFLAG_REPLACEMENT 0x01 /* put a replacement point at the start */ |
#define FOR_EACH_BASICBLOCK | ( | jd, | |
it | |||
) | for ((it) = (jd)->basicblocks; (it) != NULL; (it) = (it)->next) |
#define FOR_EACH_INSTRUCTION | ( | bptr, | |
it | |||
) | for ((it) = (bptr)->iinstr; (it) != (bptr)->iinstr + (bptr)->icount; ++(it)) |
#define FOR_EACH_INSTRUCTION_REV | ( | bptr, | |
it | |||
) | for ((it) = (bptr)->iinstr + (bptr)->icount - 1; (it) != (bptr)->iinstr - 1; --(it)) |
#define FOR_EACH_PREDECESSOR | ( | bptr, | |
it | |||
) |
#define FOR_EACH_SUCCESSOR | ( | bptr, | |
it | |||
) | for ((it) = (bptr)->successors; (it) != (bptr)->successors + (bptr)->successorcount; ++(it)) |
#define JAVALOCAL_FROM_RETADDR | ( | nr | ) | (jitdata::UNUSED - (1 + (nr))) |
#define JITDATA_HAS_FLAG_COUNTDOWN | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_COUNTDOWN) |
#define JITDATA_HAS_FLAG_IFCONV | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_IFCONV) |
#define JITDATA_HAS_FLAG_INLINE | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_INLINE) |
#define JITDATA_HAS_FLAG_INSTRUMENT | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_INSTRUMENT) |
#define JITDATA_HAS_FLAG_PARSE | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_PARSE) |
#define JITDATA_HAS_FLAG_REORDER | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_REORDER) |
#define JITDATA_HAS_FLAG_SHOWDISASSEMBLE | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_SHOWDISASSEMBLE) |
#define JITDATA_HAS_FLAG_SHOWINTERMEDIATE | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_SHOWINTERMEDIATE) |
#define JITDATA_HAS_FLAG_VERBOSECALL | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_VERBOSECALL) |
#define JITDATA_HAS_FLAG_VERIFY | ( | jd | ) | ((jd)->flags & JITDATA_FLAG_VERIFY) |
#define REG_RES 0 /* reserved register for OS or code generator */ |
#define REG_TMP 4 /* scratch temporary register (caller saved) */ |
#define RETADDR_FROM_JAVALOCAL | ( | jl | ) | (jitdata::UNUSED - (1 + (jl))) |
typedef struct interface_info interface_info |
|
inlinestatic |
void* jit_asm_compile | ( | methodinfo * | m, |
void * | mptr, | ||
void * | sp, | ||
void * | ra | ||
) |
u1* jit_compile | ( | methodinfo * | m | ) |
void* jit_compile_handle | ( | methodinfo * | m, |
void * | pv, | ||
void * | ra, | ||
void * | mptr | ||
) |
codeinfo* jit_get_current_code | ( | methodinfo * | m | ) |
void jit_invalidate_code | ( | methodinfo * | m | ) |
jitdata* jit_jitdata_new | ( | methodinfo * | m | ) |
u1* jit_recompile | ( | methodinfo * | m | ) |
void jit_request_optimization | ( | methodinfo * | m | ) |