CACAO
Macros | Typedefs | Functions | Variables
linker.cpp File Reference

Go to the source code of this file.

Macros

#define TRACELINKCLASS(c)
 
#define INLINELOG(code)
 

Typedefs

typedef std::vector< std::pair
< java_object_t **, Utf8String > > 
deferred_strings_vec_t
 

Functions

classinforesolve_classref_or_classinfo_eager (classref_or_classinfo cls, bool checkaccess)
 
static classinfolink_class_intern (classinfo *c)
 
static arraydescriptorlink_array (classinfo *c)
 
static void linker_compute_class_values (classinfo *c)
 
static void linker_compute_subclasses (classinfo *c)
 
static bool linker_addinterface (classinfo *c, classinfo *ic)
 
static s4 class_highestinterface (classinfo *c)
 
void linker_preinit (void)
 
void linker_init (void)
 
classinfolink_class (classinfo *c)
 
static bool linker_overwrite_method (methodinfo *mg, methodinfo *ms, method_worklist **wl)
 
void linker_create_string_later (java_object_t **a, Utf8String u)
 
void linker_initialize_deferred_strings ()
 

Variables

static s4 interfaceindex
 
static s4 classvalue
 
Mutexlinker_classrenumber_lock
 
static deferred_strings_vec_t deferred_strings
 

Macro Definition Documentation

#define INLINELOG (   code)

Definition at line 96 of file linker.cpp.

#define TRACELINKCLASS (   c)
Value:
do { \
log_print("[Linking "); \
} \
} while (0)
void class_print(classinfo *c)
Definition: class.cpp:2231
void log_finish(void)
Definition: logging.cpp:117
void log_print(const char *text,...)
Definition: logging.cpp:149
void log_start(void)
Definition: logging.cpp:106
int opt_TraceLinkClass
Definition: options.cpp:229

Definition at line 72 of file linker.cpp.

Typedef Documentation

typedef std::vector<std::pair<java_object_t**, Utf8String> > deferred_strings_vec_t

Definition at line 121 of file linker.cpp.

Function Documentation

static s4 class_highestinterface ( classinfo c)
static

Definition at line 1386 of file linker.cpp.

static arraydescriptor * link_array ( classinfo c)
static

Definition at line 1044 of file linker.cpp.

classinfo* link_class ( classinfo c)

Definition at line 378 of file linker.cpp.

static classinfo * link_class_intern ( classinfo c)
static

Definition at line 618 of file linker.cpp.

static bool linker_addinterface ( classinfo c,
classinfo ic 
)
static

Definition at line 1281 of file linker.cpp.

static void linker_compute_class_values ( classinfo c)
static

Definition at line 1251 of file linker.cpp.

static void linker_compute_subclasses ( classinfo c)
static

Definition at line 1213 of file linker.cpp.

void linker_create_string_later ( java_object_t **  a,
Utf8String  u 
)

Definition at line 1187 of file linker.cpp.

void linker_init ( void  )

Definition at line 166 of file linker.cpp.

void linker_initialize_deferred_strings ( )

Definition at line 1192 of file linker.cpp.

static bool linker_overwrite_method ( methodinfo mg,
methodinfo ms,
method_worklist **  wl 
)
static

Definition at line 454 of file linker.cpp.

void linker_preinit ( void  )

Definition at line 131 of file linker.cpp.

classinfo* resolve_classref_or_classinfo_eager ( classref_or_classinfo  cls,
bool  checkaccess 
)

Definition at line 437 of file resolve.cpp.

Variable Documentation

s4 classvalue
static

Definition at line 103 of file linker.cpp.

deferred_strings_vec_t deferred_strings
static

Definition at line 122 of file linker.cpp.

s4 interfaceindex
static

Definition at line 102 of file linker.cpp.

Mutex* linker_classrenumber_lock

Definition at line 106 of file linker.cpp.