X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fvm%2Ftables.h;h=8b37efb023ba665a58c35ebf0fc1ac7b3b6f50b4;hb=3b3e87b38c342b644df42f5f4101c8d1737f895e;hp=0984ae7b2ada3db6500f40d61685a7f1c130526a;hpb=d7fd1dce40655dca879a8014c418d44cedf954e5;p=cacao.git diff --git a/src/vm/tables.h b/src/vm/tables.h index 0984ae7b2..8b37efb02 100644 --- a/src/vm/tables.h +++ b/src/vm/tables.h @@ -26,7 +26,7 @@ Authors: Reinhard Grafl - $Id: tables.h 935 2004-03-05 23:49:12Z twisti $ + $Id: tables.h 1087 2004-05-26 21:27:03Z twisti $ */ @@ -45,6 +45,10 @@ /* function for disposing javastrings */ typedef void (*stringdeleter) (java_objectheader *string); +extern hashtable utf_hash; /* hashtable for utf8-symbols */ +extern hashtable string_hash; /* hashtable for javastrings */ +extern hashtable class_hash; /* hashtable for classes */ + /* creates hashtables for symboltables */ void tables_init(); @@ -60,7 +64,9 @@ bool is_valid_name_utf(utf *u); /* write utf symbol to file/buffer */ void utf_sprint(char *buffer, utf *u); +void utf_sprint_classname(char *buffer, utf *u); void utf_fprint(FILE *file, utf *u); +void utf_fprint_classname(FILE *file, utf *u); void utf_display(utf *u); void utf_display_classname(utf *u); @@ -70,6 +76,8 @@ void log_plain_utf(utf *u); /* create new utf-symbol */ utf *utf_new(char *text, u2 length); +/* without locking (caller already holding lock*/ +utf *utf_new_int(char *text, u2 length); utf *utf_new_char(char *text); utf *utf_new_char_classname(char *text); @@ -84,6 +92,8 @@ u4 utf_strlen(utf *u); /* search for class and create it if not found */ classinfo *class_new(utf *u); +/* without locking (caller already holding lock*/ +classinfo *class_new_int(utf *u); /* return an array class with the given component class */ classinfo *class_array_of(classinfo *component); @@ -106,6 +116,11 @@ void init_hashtable(hashtable *hash, u4 size); /* search for class in classtable */ classinfo *class_get(utf *u); +#if defined(USE_THREADS) && defined(NATIVE_THREADS) +void tables_lock(); +void tables_unlock(); +#endif + #endif /* _TABLES_H */