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"
22 DomainJitCodeHashLock,
33 void mono_locks_tracer_init (void);
35 void mono_locks_lock_acquired (RuntimeLocks kind, gpointer lock);
36 void mono_locks_lock_released (RuntimeLocks kind, gpointer lock);
40 #define mono_locks_tracer_init() do {} while (0)
42 #define mono_locks_lock_acquired(__UNUSED0, __UNUSED1) do {} while (0)
43 #define mono_locks_lock_released(__UNUSED0, __UNUSED1) do {} while (0)
47 #define mono_locks_os_acquire(LOCK,NAME) \
49 mono_os_mutex_lock (LOCK); \
50 mono_locks_lock_acquired (NAME, LOCK); \
53 #define mono_locks_os_release(LOCK,NAME) \
55 mono_locks_lock_released (NAME, LOCK); \
56 mono_os_mutex_unlock (LOCK); \
59 #define mono_locks_coop_acquire(LOCK,NAME) \
61 mono_coop_mutex_lock (LOCK); \
62 mono_locks_lock_acquired (NAME, LOCK); \
65 #define mono_locks_coop_release(LOCK,NAME) \
67 mono_locks_lock_released (NAME, LOCK); \
68 mono_coop_mutex_unlock (LOCK); \
73 #endif /* __MONO_METADATA_LOCK_TRACER_H__ */