5 #ifndef __MONO_METADATA_LOCK_TRACER_H__
6 #define __MONO_METADATA_LOCK_TRACER_H__
8 /*This is a private header*/
11 #include "mono/utils/mono-os-mutex.h"
12 #include "mono/utils/mono-coop-mutex.h"
20 DomainJitCodeHashLock
,
31 void mono_locks_tracer_init (void);
33 void mono_locks_lock_acquired (RuntimeLocks kind
, gpointer lock
);
34 void mono_locks_lock_released (RuntimeLocks kind
, gpointer lock
);
38 #define mono_locks_tracer_init() do {} while (0)
40 #define mono_locks_lock_acquired(__UNUSED0, __UNUSED1) do {} while (0)
41 #define mono_locks_lock_released(__UNUSED0, __UNUSED1) do {} while (0)
45 #define mono_locks_os_acquire(LOCK,NAME) \
47 mono_os_mutex_lock (LOCK); \
48 mono_locks_lock_acquired (NAME, LOCK); \
51 #define mono_locks_os_release(LOCK,NAME) \
53 mono_locks_lock_released (NAME, LOCK); \
54 mono_os_mutex_unlock (LOCK); \
57 #define mono_locks_coop_acquire(LOCK,NAME) \
59 mono_coop_mutex_lock (LOCK); \
60 mono_locks_lock_acquired (NAME, LOCK); \
63 #define mono_locks_coop_release(LOCK,NAME) \
65 mono_locks_lock_released (NAME, LOCK); \
66 mono_coop_mutex_unlock (LOCK); \
69 #endif /* __MONO_METADATA_LOCK_TRACER_H__ */