2002-04-30 Jeffrey Stedfast <fejj@ximian.com>
[mono.git] / mono / metadata / loader.h
index a719e3a7fc2f0e6820744915f564aa800f069c40..4e645507be5fc7b3ee23a6fd9161e98a84da6d4c 100644 (file)
@@ -10,8 +10,15 @@ typedef struct {
        MonoClass *klass;
        MonoMethodSignature *signature;
        gpointer addr;
+       gpointer info; /* runtime info */
+       gpointer remoting_tramp; 
+       gint slot;
        /* name is useful mostly for debugging */
-       const char *name; 
+       const char *name;
+       /* this is used by the inlining algorithm */
+       unsigned int inline_info:1;
+       unsigned int uses_this:1;
+       gint16 inline_count;
 } MonoMethod;
 
 typedef struct {
@@ -22,7 +29,7 @@ typedef struct {
 typedef struct {
        MonoMethod method;
        guint16 piflags;  /* pinvoke flags */
-       void  (*code) ();
+       void  (*code) (void);
 } MonoMethodPInvoke;
 
 typedef struct {
@@ -46,17 +53,22 @@ typedef struct {
        MonoClass *string_class;
        MonoClass *enum_class;
        MonoClass *array_class;
-       MonoClass *delegate_class;
+       MonoClass *multicastdelegate_class;
+       MonoClass *asyncresult_class;
+       MonoClass *waithandle_class;
        MonoClass *typehandle_class;
        MonoClass *fieldhandle_class;
        MonoClass *methodhandle_class;
+       MonoClass *monotype_class;
+       MonoClass *exception_class;
+       MonoClass *thread_class;
+       MonoClass *transparent_proxy_class;
+       MonoClass *real_proxy_class;
+       MonoClass *mono_method_message_class;
 } MonoDefaults;
 
 extern MonoDefaults mono_defaults;
 
-void
-mono_init                  (void);
-
 void 
 mono_init_icall            (void);
 
@@ -67,12 +79,15 @@ void
 mono_free_method           (MonoMethod *method);
 
 MonoImage *
-mono_load_image            (const char *fname, enum MonoImageOpenStatus *status);
+mono_load_image            (const char *fname, MonoImageOpenStatus *status);
 
 void
-mono_add_internal_call     (const char *name, gpointer method);
+mono_add_internal_call     (const char *name, gconstpointer method);
 
 gpointer
-mono_lookup_internal_call  (const char *name);
+mono_lookup_internal_call (MonoMethod *method);
+
+void
+mono_method_get_param_names (MonoMethod *method, const char **names);
 
 #endif