grammar updates
[mono.git] / mono / metadata / object.h
index 573286903ba055218a01101ff18180a67065a504..17d0322c236a82d88f245cfd75f2f6d9790ede4b 100644 (file)
@@ -125,6 +125,7 @@ typedef struct {
 typedef struct {
        MonoType *type;
        gpointer  value;
+       MonoClass *klass;
 } MonoTypedRef;
 
 typedef struct {
@@ -147,7 +148,7 @@ typedef struct {
        MonoString *class_name;
        MonoString *stack_trace;
        MonoString *remote_stack_trace;
-       gint32     *remote_stack_index;
+       gint32      remote_stack_index;
        gint32      hresult;
        MonoString *source;
 } MonoException;
@@ -161,6 +162,12 @@ typedef struct {
        MonoString *param_name;
 } MonoArgumentException;
 
+typedef struct {
+       MonoSystemException base;
+       MonoString *msg;
+       MonoString *type_name;
+} MonoTypeLoadException;
+
 typedef struct {
        MonoObject   object;
        MonoObject  *async_state;
@@ -191,6 +198,14 @@ typedef struct {
        MonoClass     *klass; 
 } MonoTransparentProxy;
 
+/* This is a copy of System.Runtime.Remoting.Messaging.CallType */
+typedef enum {
+       CallType_Sync = 0,
+       CallType_BeginInvoke = 1,
+       CallType_EndInvoke = 2,
+       CallType_OneWay = 3
+} MonoCallType;
+
 typedef struct {
        MonoObject obj;
        MonoReflectionMethod *method;
@@ -200,6 +215,8 @@ typedef struct {
        MonoObject *ctx;
        MonoObject *rval;
        MonoObject *exc;
+       MonoAsyncResult *async_result;
+       guint32     call_type;
 } MonoMethodMessage;
 
 typedef struct {
@@ -224,6 +241,9 @@ typedef struct {
        HANDLE      start_notify;
        gpointer stack_ptr;
        gpointer *static_data;
+       gpointer jit_data;
+       gpointer lock_data;
+       GSList *appdomain_refs;
 } MonoThread;
 
 typedef struct {
@@ -263,6 +283,10 @@ mono_object_new             (MonoDomain *domain, MonoClass *klass);
 MonoObject *
 mono_object_new_specific    (MonoVTable *vtable);
 
+/* can be used for classes without finalizer in non-profiling mode */
+MonoObject *
+mono_object_new_fast        (MonoVTable *vtable);
+
 MonoObject *
 mono_object_new_alloc_specific (MonoVTable *vtable);