|
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 | ) |
1.8.5