Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / lock-tracer.h
index 4069e97173fe1a355aff3aac47a22c93d5eed9f5..2f1a9ef0265e43dfc07184cce43d159a8c64631c 100644 (file)
@@ -1,10 +1,15 @@
+/**
+ * \file
+ */
+
 #ifndef __MONO_METADATA_LOCK_TRACER_H__
 #define __MONO_METADATA_LOCK_TRACER_H__
 
 /*This is a private header*/
 #include <glib.h>
 
-#include "mono/utils/mono-compiler.h"
+#include "mono/utils/mono-os-mutex.h"
+#include "mono/utils/mono-coop-mutex.h"
 
 G_BEGIN_DECLS
 
@@ -17,15 +22,18 @@ typedef enum {
        DomainJitCodeHashLock,
        IcallLock,
        AssemblyBindingLock,
-       MarshalLock
+       MarshalLock,
+       ClassesLock,
+       LoaderGlobalDataLock,
+       ThreadsLock,
 } RuntimeLocks;
 
 #ifdef LOCK_TRACER
 
-void mono_locks_tracer_init (void) MONO_INTERNAL;
+void mono_locks_tracer_init (void);
 
-void mono_locks_lock_acquired (RuntimeLocks kind, gpointer lock) MONO_INTERNAL;
-void mono_locks_lock_released (RuntimeLocks kind, gpointer lock) MONO_INTERNAL;
+void mono_locks_lock_acquired (RuntimeLocks kind, gpointer lock);
+void mono_locks_lock_released (RuntimeLocks kind, gpointer lock);
 
 #else
 
@@ -36,25 +44,30 @@ void mono_locks_lock_released (RuntimeLocks kind, gpointer lock) MONO_INTERNAL;
 
 #endif
 
-#define mono_locks_acquire(LOCK, NAME) do { \
-       mono_mutex_lock (LOCK); \
-       mono_locks_lock_acquired (NAME, LOCK); \
-} while (0)
-
-#define mono_locks_release(LOCK, NAME) do { \
-       mono_locks_lock_released (NAME, LOCK); \
-       mono_mutex_unlock (LOCK); \
-} while (0)
-
-#define mono_locks_mutex_acquire(LOCK, NAME) do { \
-       mono_mutex_lock (LOCK); \
-       mono_locks_lock_acquired (NAME, LOCK); \
-} while (0)
-
-#define mono_locks_mutex_release(LOCK, NAME) do { \
-       mono_locks_lock_released (NAME, LOCK); \
-       mono_mutex_unlock (LOCK); \
-} while (0)
+#define mono_locks_os_acquire(LOCK,NAME)       \
+       do {    \
+               mono_os_mutex_lock (LOCK);      \
+               mono_locks_lock_acquired (NAME, LOCK);  \
+       } while (0)
+
+#define mono_locks_os_release(LOCK,NAME)       \
+       do {    \
+               mono_locks_lock_released (NAME, LOCK);  \
+               mono_os_mutex_unlock (LOCK);    \
+       } while (0)
+
+#define mono_locks_coop_acquire(LOCK,NAME)     \
+       do {    \
+               mono_coop_mutex_lock (LOCK);    \
+               mono_locks_lock_acquired (NAME, LOCK);  \
+       } while (0)
+
+#define mono_locks_coop_release(LOCK,NAME)     \
+       do {    \
+               mono_locks_lock_released (NAME, LOCK);  \
+               mono_coop_mutex_unlock (LOCK);  \
+       } while (0)
+
 G_END_DECLS
 
 #endif /* __MONO_METADATA_LOCK_TRACER_H__ */