* moved ABI stuff into md-abi.h
[cacao.git] / src / vm / classcache.h
index 63660b9d98566a566a7cb6a68cbb72fc68d1cedb..f7049e8b990c8321cb08356112f7ec6ea6b4684e 100644 (file)
@@ -1,4 +1,4 @@
-/* vm/classcache.h - loaded class cache and loading constraints
+/* src/vm/classcache.h - loaded class cache and loading constraints
 
    Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
    R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
 
    Changes:
 
-   $Id: classcache.h 2076 2005-03-25 12:34:09Z edwin $
+   $Id: classcache.h 2195 2005-04-03 16:53:16Z edwin $
 
 */
 
+
 #ifndef _CLASSCACHE_H
 #define _CLASSCACHE_H
 
 #include <stdio.h>  /* for FILE */
-#include "vm/global.h"
+
+#include "vm/references.h"
+#include "vm/tables.h"
+
 
 /* forward declarations *******************************************************/
 
@@ -46,6 +50,10 @@ typedef struct classcache_loader_entry classcache_loader_entry;
 
 typedef java_objectheader classloader;
 
+/* global variables ***********************************************************/
+
+extern hashtable classcache_hash;
+
 /* structs ********************************************************************/
 
 
@@ -145,6 +153,22 @@ void classcache_free();
 
 classinfo * classcache_lookup(classloader *initloader,utf *classname);
 
+/* classcache_lookup_defined ***************************************************
+   Lookup a class with the given name and defining loader
+  
+   IN:
+       defloader........defining loader
+       classname........class name
+  
+   RETURN VALUE:
+       The return value is a pointer to the cached class object,
+       or NULL, if the class is not in the cache.
+   
+*******************************************************************************/
+
+classinfo * classcache_lookup_defined(classloader *defloader,utf *classname);
+
 /* classcache_store ************************************************************
    
    Store a loaded class