CACAO
Functions
resolve.cpp File Reference

Go to the source code of this file.

Functions

void resolve_handle_pending_exception (bool throwError)
 
bool resolve_class_from_name (classinfo *referer, methodinfo *refmethod, Utf8String classname, resolve_mode_t mode, bool checkaccess, bool link, classinfo **result)
 
bool resolve_classref (methodinfo *refmethod, constant_classref *ref, resolve_mode_t mode, bool checkaccess, bool link, classinfo **result)
 
bool resolve_classref_or_classinfo (methodinfo *refmethod, classref_or_classinfo cls, resolve_mode_t mode, bool checkaccess, bool link, classinfo **result)
 
classinforesolve_classref_or_classinfo_eager (classref_or_classinfo cls, bool checkaccess)
 
bool resolve_class_from_typedesc (typedesc *d, bool checkaccess, bool link, classinfo **result)
 
static resolve_result_t resolve_subtype_check (methodinfo *refmethod, classref_or_classinfo subtype, classref_or_classinfo supertype, resolve_mode_t mode, resolve_err_t error)
 
static resolve_result_t resolve_lazy_subtype_checks (methodinfo *refmethod, typeinfo_t *subtinfo, classref_or_classinfo supertype, resolve_err_t error)
 
static resolve_result_t resolve_and_check_subtype_set (methodinfo *refmethod, unresolved_subtype_set *ref, classref_or_classinfo typeref, resolve_mode_t mode, resolve_err_t error)
 
bool resolve_class (unresolved_class *ref, resolve_mode_t mode, bool checkaccess, classinfo **result)
 
classinforesolve_classref_eager (constant_classref *ref)
 
classinforesolve_classref_eager_nonabstract (constant_classref *ref)
 
classinforesolve_class_eager (unresolved_class *ref)
 
classinforesolve_class_eager_no_access_check (unresolved_class *ref)
 
resolve_result_t resolve_field_verifier_checks (methodinfo *refmethod, constant_FMIref *fieldref, classinfo *container, fieldinfo *fi, typeinfo_t *instanceti, typeinfo_t *valueti, bool isstatic, bool isput)
 
resolve_result_t resolve_field_lazy (methodinfo *refmethod, constant_FMIref *fieldref)
 
bool resolve_field (unresolved_field *ref, resolve_mode_t mode, fieldinfo **result)
 
fieldinforesolve_field_eager (unresolved_field *ref)
 
methodinforesolve_method_invokespecial_lookup (methodinfo *refmethod, methodinfo *mi)
 
resolve_result_t resolve_method_verifier_checks (methodinfo *refmethod, constant_FMIref *methodref, methodinfo *mi, bool invokestatic)
 
resolve_result_t resolve_method_instance_type_checks (methodinfo *refmethod, methodinfo *mi, typeinfo_t *instanceti, bool invokespecial)
 
resolve_result_t resolve_method_param_type_checks (jitdata *jd, methodinfo *refmethod, instruction *iptr, methodinfo *mi, bool invokestatic)
 
resolve_result_t resolve_method_param_type_checks_stackbased (methodinfo *refmethod, methodinfo *mi, bool invokestatic, typedescriptor_t *stack)
 
bool resolve_method_loading_constraints (classinfo *referer, methodinfo *mi)
 
resolve_result_t resolve_method_lazy (methodinfo *refmethod, constant_FMIref *methodref, bool invokespecial)
 
bool resolve_method (unresolved_method *ref, resolve_mode_t mode, methodinfo **result)
 
methodinforesolve_method_eager (unresolved_method *ref)
 
static bool unresolved_subtype_set_from_typeinfo (classinfo *referer, methodinfo *refmethod, unresolved_subtype_set *stset, typeinfo_t *tinfo, Utf8String declaredclassname)
 
unresolved_classcreate_unresolved_class (methodinfo *refmethod, constant_classref *classref, typeinfo_t *valuetype)
 
unresolved_fieldresolve_create_unresolved_field (classinfo *referer, methodinfo *refmethod, instruction *iptr)
 
bool resolve_constrain_unresolved_field (unresolved_field *ref, classinfo *referer, methodinfo *refmethod, typeinfo_t *instanceti, typeinfo_t *valueti)
 
unresolved_methodresolve_create_unresolved_method (classinfo *referer, methodinfo *refmethod, constant_FMIref *methodref, bool invokestatic, bool invokespecial)
 
bool resolve_constrain_unresolved_method_instance (unresolved_method *ref, methodinfo *refmethod, typeinfo_t *instanceti, bool invokespecial)
 
bool resolve_constrain_unresolved_method_params (jitdata *jd, unresolved_method *ref, methodinfo *refmethod, instruction *iptr)
 
bool resolve_constrain_unresolved_method_params_stackbased (unresolved_method *ref, methodinfo *refmethod, typedescriptor_t *stack)
 
static void unresolved_subtype_set_free_list (classref_or_classinfo *list)
 
void unresolved_class_free (unresolved_class *ref)
 
void unresolved_field_free (unresolved_field *ref)
 
void unresolved_method_free (unresolved_method *ref)
 
void unresolved_subtype_set_debug_dump (unresolved_subtype_set *stset, FILE *file)
 
void unresolved_class_debug_dump (unresolved_class *ref, FILE *file)
 
void unresolved_field_debug_dump (unresolved_field *ref, FILE *file)
 
void unresolved_method_debug_dump (unresolved_method *ref, FILE *file)
 

Function Documentation

unresolved_class* create_unresolved_class ( methodinfo refmethod,
constant_classref classref,
typeinfo_t valuetype 
)

Definition at line 2354 of file resolve.cpp.

static resolve_result_t resolve_and_check_subtype_set ( methodinfo refmethod,
unresolved_subtype_set ref,
classref_or_classinfo  typeref,
resolve_mode_t  mode,
resolve_err_t  error 
)
static

Definition at line 814 of file resolve.cpp.

bool resolve_class ( unresolved_class ref,
resolve_mode_t  mode,
bool  checkaccess,
classinfo **  result 
)

Definition at line 900 of file resolve.cpp.

classinfo* resolve_class_eager ( unresolved_class ref)

Definition at line 1018 of file resolve.cpp.

classinfo* resolve_class_eager_no_access_check ( unresolved_class ref)

Definition at line 1044 of file resolve.cpp.

bool resolve_class_from_name ( classinfo referer,
methodinfo refmethod,
Utf8String  classname,
resolve_mode_t  mode,
bool  checkaccess,
bool  link,
classinfo **  result 
)

Definition at line 153 of file resolve.cpp.

bool resolve_class_from_typedesc ( typedesc d,
bool  checkaccess,
bool  link,
classinfo **  result 
)

Definition at line 473 of file resolve.cpp.

bool resolve_classref ( methodinfo refmethod,
constant_classref ref,
resolve_mode_t  mode,
bool  checkaccess,
bool  link,
classinfo **  result 
)

Definition at line 309 of file resolve.cpp.

classinfo* resolve_classref_eager ( constant_classref ref)

Definition at line 961 of file resolve.cpp.

classinfo* resolve_classref_eager_nonabstract ( constant_classref ref)

Definition at line 986 of file resolve.cpp.

bool resolve_classref_or_classinfo ( methodinfo refmethod,
classref_or_classinfo  cls,
resolve_mode_t  mode,
bool  checkaccess,
bool  link,
classinfo **  result 
)

Definition at line 351 of file resolve.cpp.

classinfo* resolve_classref_or_classinfo_eager ( classref_or_classinfo  cls,
bool  checkaccess 
)

Definition at line 437 of file resolve.cpp.

bool resolve_constrain_unresolved_field ( unresolved_field ref,
classinfo referer,
methodinfo refmethod,
typeinfo_t instanceti,
typeinfo_t valueti 
)

Definition at line 2485 of file resolve.cpp.

bool resolve_constrain_unresolved_method_instance ( unresolved_method ref,
methodinfo refmethod,
typeinfo_t instanceti,
bool  invokespecial 
)

Definition at line 2648 of file resolve.cpp.

bool resolve_constrain_unresolved_method_params ( jitdata jd,
unresolved_method ref,
methodinfo refmethod,
instruction iptr 
)

Definition at line 2713 of file resolve.cpp.

bool resolve_constrain_unresolved_method_params_stackbased ( unresolved_method ref,
methodinfo refmethod,
typedescriptor_t stack 
)

Definition at line 2788 of file resolve.cpp.

unresolved_field* resolve_create_unresolved_field ( classinfo referer,
methodinfo refmethod,
instruction iptr 
)

Definition at line 2402 of file resolve.cpp.

unresolved_method* resolve_create_unresolved_method ( classinfo referer,
methodinfo refmethod,
constant_FMIref methodref,
bool  invokestatic,
bool  invokespecial 
)

Definition at line 2596 of file resolve.cpp.

bool resolve_field ( unresolved_field ref,
resolve_mode_t  mode,
fieldinfo **  result 
)

Definition at line 1342 of file resolve.cpp.

fieldinfo* resolve_field_eager ( unresolved_field ref)

Definition at line 1497 of file resolve.cpp.

resolve_result_t resolve_field_lazy ( methodinfo refmethod,
constant_FMIref fieldref 
)

Definition at line 1261 of file resolve.cpp.

resolve_result_t resolve_field_verifier_checks ( methodinfo refmethod,
constant_FMIref fieldref,
classinfo container,
fieldinfo fi,
typeinfo_t instanceti,
typeinfo_t valueti,
bool  isstatic,
bool  isput 
)

Definition at line 1081 of file resolve.cpp.

void resolve_handle_pending_exception ( bool  throwError)

Definition at line 78 of file resolve.cpp.

static resolve_result_t resolve_lazy_subtype_checks ( methodinfo refmethod,
typeinfo_t subtinfo,
classref_or_classinfo  supertype,
resolve_err_t  error 
)
static

Definition at line 682 of file resolve.cpp.

bool resolve_method ( unresolved_method ref,
resolve_mode_t  mode,
methodinfo **  result 
)

Definition at line 2055 of file resolve.cpp.

methodinfo* resolve_method_eager ( unresolved_method ref)

Definition at line 2236 of file resolve.cpp.

resolve_result_t resolve_method_instance_type_checks ( methodinfo refmethod,
methodinfo mi,
typeinfo_t instanceti,
bool  invokespecial 
)

Definition at line 1680 of file resolve.cpp.

methodinfo* resolve_method_invokespecial_lookup ( methodinfo refmethod,
methodinfo mi 
)

Definition at line 1525 of file resolve.cpp.

resolve_result_t resolve_method_lazy ( methodinfo refmethod,
constant_FMIref methodref,
bool  invokespecial 
)

Definition at line 1950 of file resolve.cpp.

bool resolve_method_loading_constraints ( classinfo referer,
methodinfo mi 
)

Definition at line 1876 of file resolve.cpp.

resolve_result_t resolve_method_param_type_checks ( jitdata jd,
methodinfo refmethod,
instruction iptr,
methodinfo mi,
bool  invokestatic 
)

Definition at line 1748 of file resolve.cpp.

resolve_result_t resolve_method_param_type_checks_stackbased ( methodinfo refmethod,
methodinfo mi,
bool  invokestatic,
typedescriptor_t stack 
)

Definition at line 1813 of file resolve.cpp.

resolve_result_t resolve_method_verifier_checks ( methodinfo refmethod,
constant_FMIref methodref,
methodinfo mi,
bool  invokestatic 
)

Definition at line 1597 of file resolve.cpp.

static resolve_result_t resolve_subtype_check ( methodinfo refmethod,
classref_or_classinfo  subtype,
classref_or_classinfo  supertype,
resolve_mode_t  mode,
resolve_err_t  error 
)
static

Definition at line 557 of file resolve.cpp.

void unresolved_class_debug_dump ( unresolved_class ref,
FILE *  file 
)

Definition at line 2982 of file resolve.cpp.

void unresolved_class_free ( unresolved_class ref)

Definition at line 2876 of file resolve.cpp.

void unresolved_field_debug_dump ( unresolved_field ref,
FILE *  file 
)

Definition at line 3009 of file resolve.cpp.

void unresolved_field_free ( unresolved_field ref)

Definition at line 2895 of file resolve.cpp.

void unresolved_method_debug_dump ( unresolved_method ref,
FILE *  file 
)

Definition at line 3045 of file resolve.cpp.

void unresolved_method_free ( unresolved_method ref)

Definition at line 2915 of file resolve.cpp.

void unresolved_subtype_set_debug_dump ( unresolved_subtype_set stset,
FILE *  file 
)

Definition at line 2949 of file resolve.cpp.

static void unresolved_subtype_set_free_list ( classref_or_classinfo list)
inlinestatic

Definition at line 2854 of file resolve.cpp.

static bool unresolved_subtype_set_from_typeinfo ( classinfo referer,
methodinfo refmethod,
unresolved_subtype_set stset,
typeinfo_t tinfo,
Utf8String  declaredclassname 
)
static

Definition at line 2251 of file resolve.cpp.