1 #ifndef __MONO_METADATA_LOCK_TRACER_H__
2 #define __MONO_METADATA_LOCK_TRACER_H__
4 /*This is a private header*/
7 #include "mono/utils/mono-os-mutex.h"
8 #include "mono/utils/mono-coop-mutex.h"
18 DomainJitCodeHashLock
,
29 void mono_locks_tracer_init (void);
31 void mono_locks_lock_acquired (RuntimeLocks kind
, gpointer lock
);
32 void mono_locks_lock_released (RuntimeLocks kind
, gpointer lock
);
36 #define mono_locks_tracer_init() do {} while (0)
38 #define mono_locks_lock_acquired(__UNUSED0, __UNUSED1) do {} while (0)
39 #define mono_locks_lock_released(__UNUSED0, __UNUSED1) do {} while (0)
43 #define mono_locks_os_acquire(LOCK,NAME) \
45 mono_os_mutex_lock (LOCK); \
46 mono_locks_lock_acquired (NAME, LOCK); \
49 #define mono_locks_os_release(LOCK,NAME) \
51 mono_locks_lock_released (NAME, LOCK); \
52 mono_os_mutex_unlock (LOCK); \
55 #define mono_locks_coop_acquire(LOCK,NAME) \
57 mono_coop_mutex_lock (LOCK); \
58 mono_locks_lock_acquired (NAME, LOCK); \
61 #define mono_locks_coop_release(LOCK,NAME) \
63 mono_locks_lock_released (NAME, LOCK); \
64 mono_coop_mutex_unlock (LOCK); \
69 #endif /* __MONO_METADATA_LOCK_TRACER_H__ */