MonoThreadsSync *synchronisation;
} MonoObject;
-typedef MonoObject* (*MonoInvokeFunc) (MonoMethod *method, void *obj, void **params, MonoObject **exc);
+typedef MonoObject* (*MonoInvokeFunc) (MonoMethod *method, void *obj, void **params, MonoObject **exc, MonoError *error);
typedef void* (*MonoCompileFunc) (MonoMethod *method);
typedef void (*MonoMainThreadFunc) (void* user_data);
#define MONO_OBJECT_SETREF(obj,fieldname,value) do { \
+ g_assert (sizeof((obj)->fieldname) == sizeof (gpointer*)); \
mono_gc_wbarrier_set_field ((MonoObject*)(obj), &((obj)->fieldname), (MonoObject*)value); \
/*(obj)->fieldname = (value);*/ \
} while (0)
MONO_API mono_unichar2 *mono_string_chars (MonoString *s);
MONO_API int mono_string_length (MonoString *s);
-MONO_API MonoObject *
+MONO_RT_EXTERNAL_ONLY MONO_API MonoObject *
mono_object_new (MonoDomain *domain, MonoClass *klass);
MONO_API MonoObject *
MONO_API MonoString*
mono_string_is_interned (MonoString *str);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoString*
mono_string_intern (MonoString *str);
MONO_API void
mono_raise_exception (MonoException *ex);
+MONO_RT_EXTERNAL_ONLY
MONO_API void
mono_runtime_object_init (MonoObject *this_obj);
+MONO_RT_EXTERNAL_ONLY
MONO_API void
mono_runtime_class_init (MonoVTable *vtable);
MONO_API MonoMethod*
mono_object_get_virtual_method (MonoObject *obj, MonoMethod *method);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoObject*
mono_runtime_invoke (MonoMethod *method, void *obj, void **params,
MonoObject **exc);