X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-mips.c;h=2aa6bd1d268e846a0a80db10d815b7e34718de00;hb=b511edee10b6dc52d24f1f5fed1135ba340d8f71;hp=658a1009d09cec328a18944b283e4615ecbe3be9;hpb=630116d1b60070c2a0b09f5912df3bdd5c83bacf;p=mono.git diff --git a/mono/mini/mini-mips.c b/mono/mini/mini-mips.c index 658a1009d09..2aa6bd1d268 100644 --- a/mono/mini/mini-mips.c +++ b/mono/mini/mini-mips.c @@ -57,9 +57,9 @@ enum { }; /* This mutex protects architecture specific caches */ -#define mono_mini_arch_lock() EnterCriticalSection (&mini_arch_mutex) -#define mono_mini_arch_unlock() LeaveCriticalSection (&mini_arch_mutex) -static CRITICAL_SECTION mini_arch_mutex; +#define mono_mini_arch_lock() mono_mutex_lock (&mini_arch_mutex) +#define mono_mini_arch_unlock() mono_mutex_unlock (&mini_arch_mutex) +static mono_mutex_t mini_arch_mutex; int mono_exc_esp_offset = 0; static int tls_mode = TLS_MODE_DETECT; @@ -669,6 +669,12 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe return NULL; } +gpointer +mono_arch_get_delegate_virtual_invoke_impl (MonoMethodSignature *sig, MonoMethod *method, int offset, gboolean load_imt_reg) +{ + return NULL; +} + gpointer mono_arch_get_this_arg_from_call (mgreg_t *regs, guint8 *code) { @@ -701,7 +707,7 @@ mono_arch_cpu_init (void) void mono_arch_init (void) { - InitializeCriticalSection (&mini_arch_mutex); + mono_mutex_init_recursive (&mini_arch_mutex); ss_trigger_page = mono_valloc (NULL, mono_pagesize (), MONO_MMAP_READ|MONO_MMAP_32BIT); bp_trigger_page = mono_valloc (NULL, mono_pagesize (), MONO_MMAP_READ|MONO_MMAP_32BIT); @@ -714,7 +720,7 @@ mono_arch_init (void) void mono_arch_cleanup (void) { - DeleteCriticalSection (&mini_arch_mutex); + mono_mutex_destroy (&mini_arch_mutex); } /* @@ -5845,8 +5851,6 @@ mono_arch_context_get_int_reg (MonoContext *ctx, int reg) return ctx->sc_regs [reg]; } -#ifdef MONO_ARCH_HAVE_IMT - #define ENABLE_WRONG_METHOD_CHECK 0 #define MIPS_LOAD_SEQUENCE_LENGTH 8 @@ -6000,7 +6004,6 @@ mono_arch_find_imt_method (mgreg_t *regs, guint8 *code) { return (MonoMethod*) regs [MONO_ARCH_IMT_REG]; } -#endif MonoVTable* mono_arch_find_static_call_vtable (mgreg_t *regs, guint8 *code)