|
#define | I2(why, tov, es) |
|
#define | I(why, to, from) I2(why, instruction_ ## to (iptr), escape_analysis_get_state(e, instruction_ ## from (iptr))) |
|
#define | E2(why, var) I2(why, var, ESCAPE_GLOBAL) |
|
#define | E(why, which) E2(why, instruction_ ## which (iptr)) |
|
#define | ENABLE_COLOR |
|
#define | str(x) case x: return #x; |
|
#define | FOR_EACH_INSTRUCTION_LIST(list, it) for ((it) = (list)->first; (it) != NULL; (it) = (it)->next) |
|
#define | FOR_EACH_DEPENDENCY_LIST(dl, it) for ((it) = (dl)->first; (it) != NULL; (it) = (it)->next) |
|
|
static void | color_start (color_t color) |
|
static void | color_end () |
|
static void | color_printf (color_t color, const char *fmt,...) |
|
const char * | escape_state_to_string (escape_state_t escape_state) |
|
static s2 | instruction_get_opcode (const instruction *iptr) |
|
static bool | instruction_is_unresolved (const instruction *iptr) |
|
static s4 | instruction_field_type (const instruction *iptr) |
|
static s4 | instruction_s1 (const instruction *iptr) |
|
static s4 | instruction_s2 (const instruction *iptr) |
|
static s4 | instruction_s3 (const instruction *iptr) |
|
static s4 | instruction_dst (const instruction *iptr) |
|
static s4 | instruction_arg (const instruction *iptr, int arg) |
|
static bool | instruction_is_class_constant (const instruction *iptr) |
|
static classinfo * | instruction_classinfo (const instruction *iptr) |
|
static methodinfo * | instruction_local_methodinfo (const instruction *iptr) |
|
static int | instruction_dst_type (const instruction *iptr, jitdata *jd) |
|
static int | instruction_return_type (const instruction *iptr) |
|
static s4 | instruction_arg_type (const instruction *iptr, int arg) |
|
static int | instruction_arg_count (const instruction *iptr) |
|
void | instruction_list_init (instruction_list_t *list) |
|
void | instruction_list_add (instruction_list_t *list, instruction *instr) |
|
bool | dependency_list_item_compare (const dependency_list_item_t *item, const instruction *load) |
|
s4 | dependency_list_item_get_dependency (const dependency_list_item_t *item) |
|
void | dependency_list_init (dependency_list_t *dl) |
|
void | dependency_list_add (dependency_list_t *dl, instruction *store) |
|
void | dependenCy_list_import (dependency_list_t *dl, dependency_list_t *other) |
|
static void | var_extra_init (var_extra_t *ve) |
|
static var_extra_t * | var_extra_get_no_alloc (const escape_analysis_t *e, s4 var) |
|
static var_extra_t * | var_extra_get (escape_analysis_t *e, s4 var) |
|
static s4 | var_extra_get_representant (escape_analysis_t *e, s4 var) |
|
static escape_state_t | var_extra_get_escape_state (escape_analysis_t *e, s4 var) |
|
static void | var_extra_set_escape_state (escape_analysis_t *e, s4 var, escape_state_t escape_state) |
|
static dependency_list_t * | var_extra_get_dependency_list (escape_analysis_t *e, s4 var) |
|
static void | escape_analysis_init (escape_analysis_t *e, jitdata *jd) |
|
static void | escape_analysis_set_allocation (escape_analysis_t *e, s4 var, instruction *iptr) |
|
static instruction * | escape_analysis_get_allocation (const escape_analysis_t *e, s4 var) |
|
static void | escape_analysis_set_contains_argument (escape_analysis_t *e, s4 var) |
|
static bool | escape_analysis_get_contains_argument (escape_analysis_t *e, s4 var) |
|
static void | escape_analysis_set_contains_only_arguments (escape_analysis_t *e, s4 var) |
|
static bool | escape_analysis_get_contains_only_arguments (escape_analysis_t *e, s4 var) |
|
static bool | escape_analysis_in_same_set (escape_analysis_t *e, s4 var1, s4 var2) |
|
static void | escape_analysis_ensure_state (escape_analysis_t *e, s4 var, escape_state_t escape_state) |
|
static escape_state_t | escape_analysis_get_state (escape_analysis_t *e, s4 var) |
|
static classinfo * | escape_analysis_classinfo_in_var (escape_analysis_t *e, s4 var) |
|
static void | escape_analysis_merge (escape_analysis_t *e, s4 var1, s4 var2) |
|
static void | escape_analysis_add_dependency (escape_analysis_t *e, instruction *store) |
|
static void | escape_analysis_process_instruction (escape_analysis_t *e, instruction *iptr) |
|
static void | escape_analysis_process_instructions (escape_analysis_t *e) |
|
static void | escape_analysis_post_process_returns (escape_analysis_t *e) |
|
static void | escape_analysis_post_process_getfields (escape_analysis_t *e) |
|
static void | escape_analysis_mark_monitors (escape_analysis_t *e) |
|
static void | escape_analysis_mark_allocations (escape_analysis_t *e) |
|
static void | escape_analysis_process_arguments (escape_analysis_t *e) |
|
static void | escape_analysis_export_arguments (escape_analysis_t *e) |
|
static void | escape_analysis_display (escape_analysis_t *e) |
|
void | escape_analysis_perform (jitdata *jd) |
|
void | escape_analysis_escape_check (void *vp) |
|
bool | escape_is_monomorphic (methodinfo *caller, methodinfo *callee) |
|