CACAO
Macros | Functions | Variables
classcache.cpp File Reference

Go to the source code of this file.

Macros

#define CLASSCACHE_INIT_SIZE   2048
 
#define CLASSCACHE_COUNT(cnt)
 
#define CLASSCACHE_COUNTIF(cond, cnt)
 
#define CLASSCACHE_LOCK()   classcache_hashtable_mutex->lock();
 
#define CLASSCACHE_UNLOCK()   classcache_hashtable_mutex->unlock();
 

Functions

static void classcache_free_class_entry (classcache_class_entry *clsen)
 
static void classcache_remove_class_entry (classcache_name_entry *en, classcache_class_entry *clsen)
 
bool classcache_init (void)
 
static classcache_loader_entryclasscache_new_loader_entry (classloader_t *loader, classcache_loader_entry *next)
 
static classcache_loader_entryclasscache_merge_loaders (classcache_loader_entry *lista, classcache_loader_entry *listb)
 
static void classcache_merge_class_entries (classcache_name_entry *en, classcache_class_entry *clsenA, classcache_class_entry *clsenB)
 
static classcache_name_entryclasscache_lookup_name (Utf8String name)
 
static classcache_name_entryclasscache_new_name (Utf8String name)
 
classinfoclasscache_lookup (classloader_t *initloader, Utf8String classname)
 
classinfoclasscache_lookup_defined (classloader_t *defloader, Utf8String classname)
 
classinfoclasscache_lookup_defined_or_initiated (classloader_t *loader, Utf8String classname)
 
classinfoclasscache_store (classloader_t *initloader, classinfo *cls, bool mayfree)
 
bool classcache_store_unique (classinfo *cls)
 
classinfoclasscache_store_defined (classinfo *cls)
 
static classcache_class_entryclasscache_find_loader (classcache_name_entry *entry, classloader_t *loader)
 
static void classcache_free_name_entry (classcache_name_entry *entry)
 
void classcache_free (void)
 
bool classcache_add_constraint (classloader_t *a, classloader_t *b, Utf8String classname)
 
bool classcache_add_constraints_for_params (classloader_t *a, classloader_t *b, methodinfo *m)
 
static s4 classcache_number_of_loaded_classes (void)
 
s4 classcache_get_loaded_class_count (void)
 
void classcache_foreach_loaded_class (classcache_foreach_functionptr_t func, void *data)
 
void classcache_debug_dump (FILE *file, Utf8String only)
 

Variables

hashtable hashtable_classcache
 
static Mutexclasscache_hashtable_mutex
 

Macro Definition Documentation

#define CLASSCACHE_COUNT (   cnt)

Definition at line 202 of file classcache.cpp.

#define CLASSCACHE_COUNTIF (   cond,
  cnt 
)

Definition at line 203 of file classcache.cpp.

#define CLASSCACHE_INIT_SIZE   2048

Definition at line 136 of file classcache.cpp.

#define CLASSCACHE_LOCK ( )    classcache_hashtable_mutex->lock();

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Definition at line 215 of file classcache.cpp.

#define CLASSCACHE_UNLOCK ( )    classcache_hashtable_mutex->unlock();

Definition at line 216 of file classcache.cpp.

Function Documentation

bool classcache_add_constraint ( classloader_t a,
classloader_t b,
Utf8String  classname 
)

Definition at line 1157 of file classcache.cpp.

bool classcache_add_constraints_for_params ( classloader_t a,
classloader_t b,
methodinfo m 
)

Definition at line 1275 of file classcache.cpp.

void classcache_debug_dump ( FILE *  file,
Utf8String  only 
)

Definition at line 1445 of file classcache.cpp.

static classcache_class_entry* classcache_find_loader ( classcache_name_entry entry,
classloader_t loader 
)
static

Definition at line 995 of file classcache.cpp.

void classcache_foreach_loaded_class ( classcache_foreach_functionptr_t  func,
void data 
)

Definition at line 1390 of file classcache.cpp.

void classcache_free ( void  )

Definition at line 1120 of file classcache.cpp.

static void classcache_free_class_entry ( classcache_class_entry clsen)
static

Definition at line 1034 of file classcache.cpp.

static void classcache_free_name_entry ( classcache_name_entry entry)
static

Definition at line 1093 of file classcache.cpp.

s4 classcache_get_loaded_class_count ( void  )

Definition at line 1370 of file classcache.cpp.

bool classcache_init ( void  )

Definition at line 247 of file classcache.cpp.

classinfo* classcache_lookup ( classloader_t initloader,
Utf8String  classname 
)

Definition at line 564 of file classcache.cpp.

classinfo* classcache_lookup_defined ( classloader_t defloader,
Utf8String  classname 
)

Definition at line 616 of file classcache.cpp.

classinfo* classcache_lookup_defined_or_initiated ( classloader_t loader,
Utf8String  classname 
)

Definition at line 662 of file classcache.cpp.

static classcache_name_entry* classcache_lookup_name ( Utf8String  name)
static

Definition at line 423 of file classcache.cpp.

static void classcache_merge_class_entries ( classcache_name_entry en,
classcache_class_entry clsenA,
classcache_class_entry clsenB 
)
static

Definition at line 368 of file classcache.cpp.

static classcache_loader_entry* classcache_merge_loaders ( classcache_loader_entry lista,
classcache_loader_entry listb 
)
static

Definition at line 309 of file classcache.cpp.

static classcache_loader_entry* classcache_new_loader_entry ( classloader_t loader,
classcache_loader_entry next 
)
static

Definition at line 278 of file classcache.cpp.

static classcache_name_entry* classcache_new_name ( Utf8String  name)
static

Definition at line 468 of file classcache.cpp.

static s4 classcache_number_of_loaded_classes ( void  )
static

Definition at line 1329 of file classcache.cpp.

static void classcache_remove_class_entry ( classcache_name_entry en,
classcache_class_entry clsen 
)
static

Definition at line 1065 of file classcache.cpp.

classinfo* classcache_store ( classloader_t initloader,
classinfo cls,
bool  mayfree 
)

Definition at line 730 of file classcache.cpp.

classinfo* classcache_store_defined ( classinfo cls)

Definition at line 917 of file classcache.cpp.

bool classcache_store_unique ( classinfo cls)

Definition at line 883 of file classcache.cpp.

Variable Documentation

Mutex* classcache_hashtable_mutex
static

Definition at line 225 of file classcache.cpp.

hashtable hashtable_classcache

Definition at line 223 of file classcache.cpp.