Skip to content

Commit bdcf5ca

Browse files
committed
Rename jl_mutex_func->jl_spin_mutex_func
1 parent 8f32832 commit bdcf5ca

File tree

6 files changed

+45
-45
lines changed

6 files changed

+45
-45
lines changed

src/gc-heap-snapshot.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ JL_DLLEXPORT void jl_gc_take_heap_snapshot(ios_t *stream, char all_one)
135135
HeapSnapshot snapshot;
136136
_add_internal_root(&snapshot);
137137

138-
jl_mutex_lock(&heapsnapshot_lock);
138+
jl_spin_mutex_lock(&heapsnapshot_lock);
139139

140140
// Enable snapshotting
141141
g_snapshot = &snapshot;
@@ -148,7 +148,7 @@ JL_DLLEXPORT void jl_gc_take_heap_snapshot(ios_t *stream, char all_one)
148148
gc_heap_snapshot_enabled = false;
149149
g_snapshot = nullptr;
150150

151-
jl_mutex_unlock(&heapsnapshot_lock);
151+
jl_spin_mutex_unlock(&heapsnapshot_lock);
152152

153153
// When we return, the snapshot is full
154154
// Dump the snapshot

src/jl_uv.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ _Atomic(int) jl_uv_n_waiters = 0;
119119

120120
void JL_UV_LOCK(void)
121121
{
122-
if (jl_mutex_trylock(&jl_uv_mutex)) {
122+
if (jl_spin_mutex_trylock(&jl_uv_mutex)) {
123123
}
124124
else {
125125
jl_atomic_fetch_add_relaxed(&jl_uv_n_waiters, 1);
@@ -273,7 +273,7 @@ JL_DLLEXPORT int jl_process_events(void)
273273
uv_loop_t *loop = jl_io_loop;
274274
jl_gc_safepoint_(ct->ptls);
275275
if (loop && (jl_atomic_load_relaxed(&_threadedregion) || jl_atomic_load_relaxed(&ct->tid) == 0)) {
276-
if (jl_atomic_load_relaxed(&jl_uv_n_waiters) == 0 && jl_mutex_trylock(&jl_uv_mutex)) {
276+
if (jl_atomic_load_relaxed(&jl_uv_n_waiters) == 0 && jl_spin_mutex_trylock(&jl_uv_mutex)) {
277277
JL_PROBE_RT_START_PROCESS_EVENTS(ct);
278278
loop->stop_flag = 0;
279279
uv_ref((uv_handle_t*)&signal_async); // force the loop alive

src/julia_locks.h

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,32 @@ extern "C" {
1111

1212
// Lock acquire and release primitives
1313

14-
// JL_LOCK and jl_mutex_lock are GC safe points, use uv_mutex_t if that is not desired.
14+
// JL_LOCK and jl_spin_mutex_lock are GC safe points, use uv_mutex_t if that is not desired.
1515
// Always use JL_LOCK unless no one holding the lock can trigger a GC or GC
1616
// safepoint. uv_mutex_t should only be needed for GC internal locks.
1717
// The JL_LOCK* and JL_UNLOCK* macros are no-op for non-threading build
1818
// while the jl_mutex_* functions are always locking and unlocking the locks.
1919

20-
JL_DLLEXPORT void _jl_mutex_init(jl_spin_mutex_t *lock, const char *name) JL_NOTSAFEPOINT;
21-
JL_DLLEXPORT void _jl_mutex_wait(jl_task_t *self, jl_spin_mutex_t *lock, int safepoint);
22-
JL_DLLEXPORT void _jl_mutex_lock(jl_task_t *self, jl_spin_mutex_t *lock);
23-
JL_DLLEXPORT int _jl_mutex_trylock_nogc(jl_task_t *self, jl_spin_mutex_t *lock) JL_NOTSAFEPOINT;
24-
JL_DLLEXPORT int _jl_mutex_trylock(jl_task_t *self, jl_spin_mutex_t *lock);
25-
JL_DLLEXPORT void _jl_mutex_unlock(jl_task_t *self, jl_spin_mutex_t *lock);
26-
JL_DLLEXPORT void _jl_mutex_unlock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT;
20+
JL_DLLEXPORT void _jl_spin_mutex_init(jl_spin_mutex_t *lock, const char *name) JL_NOTSAFEPOINT;
21+
JL_DLLEXPORT void _jl_spin_mutex_wait(jl_task_t *self, jl_spin_mutex_t *lock, int safepoint);
22+
JL_DLLEXPORT void _jl_spin_mutex_lock(jl_task_t *self, jl_spin_mutex_t *lock);
23+
JL_DLLEXPORT int _jl_spin_mutex_trylock_nogc(jl_task_t *self, jl_spin_mutex_t *lock) JL_NOTSAFEPOINT;
24+
JL_DLLEXPORT int _jl_spin_mutex_trylock(jl_task_t *self, jl_spin_mutex_t *lock);
25+
JL_DLLEXPORT void _jl_spin_mutex_unlock(jl_task_t *self, jl_spin_mutex_t *lock);
26+
JL_DLLEXPORT void _jl_spin_mutex_unlock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT;
2727

28-
static inline void jl_mutex_wait(jl_spin_mutex_t *lock, int safepoint)
28+
static inline void jl_spin_mutex_wait(jl_spin_mutex_t *lock, int safepoint)
2929
{
30-
_jl_mutex_wait(jl_current_task, lock, safepoint);
30+
_jl_spin_mutex_wait(jl_current_task, lock, safepoint);
3131
}
3232

33-
static inline void jl_mutex_lock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT JL_NOTSAFEPOINT_ENTER
33+
static inline void jl_spin_mutex_lock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT JL_NOTSAFEPOINT_ENTER
3434
{
3535
#ifndef __clang_gcanalyzer__
3636
// Hide this body from the analyzer, otherwise it complains that we're calling
3737
// a non-safepoint from this function. The 0 arguments guarantees that we do
3838
// not reach the safepoint, but the analyzer can't figure that out
39-
jl_mutex_wait(lock, 0);
39+
jl_spin_mutex_wait(lock, 0);
4040
#endif
4141
}
4242

@@ -62,41 +62,41 @@ static inline void jl_mutex_lock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT JL_
6262
} \
6363
} while (0)
6464

65-
static inline void jl_mutex_lock(jl_spin_mutex_t *lock)
65+
static inline void jl_spin_mutex_lock(jl_spin_mutex_t *lock)
6666
{
67-
_jl_mutex_lock(jl_current_task, lock);
67+
_jl_spin_mutex_lock(jl_current_task, lock);
6868
}
6969

70-
static inline int jl_mutex_trylock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT JL_NOTSAFEPOINT_ENTER
70+
static inline int jl_spin_mutex_trylock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT JL_NOTSAFEPOINT_ENTER
7171
{
72-
return _jl_mutex_trylock_nogc(jl_current_task, lock);
72+
return _jl_spin_mutex_trylock_nogc(jl_current_task, lock);
7373
}
7474

75-
static inline int jl_mutex_trylock(jl_spin_mutex_t *lock)
75+
static inline int jl_spin_mutex_trylock(jl_spin_mutex_t *lock)
7676
{
77-
return _jl_mutex_trylock(jl_current_task, lock);
77+
return _jl_spin_mutex_trylock(jl_current_task, lock);
7878
}
7979

80-
static inline void jl_mutex_unlock(jl_spin_mutex_t *lock)
80+
static inline void jl_spin_mutex_unlock(jl_spin_mutex_t *lock)
8181
{
82-
_jl_mutex_unlock(jl_current_task, lock);
82+
_jl_spin_mutex_unlock(jl_current_task, lock);
8383
}
8484

85-
static inline void jl_mutex_unlock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT JL_NOTSAFEPOINT_LEAVE
85+
static inline void jl_spin_mutex_unlock_nogc(jl_spin_mutex_t *lock) JL_NOTSAFEPOINT JL_NOTSAFEPOINT_LEAVE
8686
{
87-
_jl_mutex_unlock_nogc(lock);
87+
_jl_spin_mutex_unlock_nogc(lock);
8888
}
8989

90-
static inline void jl_mutex_init(jl_spin_mutex_t *lock, const char *name) JL_NOTSAFEPOINT
90+
static inline void jl_spin_mutex_init(jl_spin_mutex_t *lock, const char *name) JL_NOTSAFEPOINT
9191
{
92-
_jl_mutex_init(lock, name);
92+
_jl_spin_mutex_init(lock, name);
9393
}
9494

95-
#define JL_MUTEX_INIT(m, name) jl_mutex_init(m, name)
96-
#define JL_LOCK(m) jl_mutex_lock(m)
97-
#define JL_UNLOCK(m) jl_mutex_unlock(m)
98-
#define JL_LOCK_NOGC(m) jl_mutex_lock_nogc(m)
99-
#define JL_UNLOCK_NOGC(m) jl_mutex_unlock_nogc(m)
95+
#define JL_MUTEX_INIT(m, name) _Generic((m), jl_spin_mutex_t*: jl_spin_mutex_init(m, name))
96+
#define JL_LOCK(m) _Generic((m), jl_spin_mutex_t*: jl_spin_mutex_lock(m))
97+
#define JL_UNLOCK(m) _Generic((m), jl_spin_mutex_t*: jl_spin_mutex_unlock(m))
98+
#define JL_LOCK_NOGC(m) _Generic((m), jl_spin_mutex_t*: jl_spin_mutex_lock_nogc(m))
99+
#define JL_UNLOCK_NOGC(m) _Generic((m), jl_spin_mutex_t*: jl_spin_mutex_unlock_nogc(m))
100100

101101
#ifdef __cplusplus
102102
}

src/partr.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ JL_DLLEXPORT jl_task_t *jl_task_get_next(jl_value_t *trypoptask, jl_value_t *q,
382382
// the lock as unlocked and thus must win this race here.
383383
int uvlock = 0;
384384
if (jl_atomic_load_relaxed(&_threadedregion)) {
385-
uvlock = jl_mutex_trylock(&jl_uv_mutex);
385+
uvlock = jl_spin_mutex_trylock(&jl_uv_mutex);
386386
}
387387
else if (ptls->tid == 0) {
388388
uvlock = 1;

src/rtutils.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ JL_DLLEXPORT void jl_eh_restore_state(jl_handler_t *eh)
263263
int unlocks = locks->len > eh->locks_len;
264264
if (unlocks) {
265265
for (size_t i = locks->len; i > eh->locks_len; i--)
266-
jl_mutex_unlock_nogc((jl_spin_mutex_t*)locks->items[i - 1]);
266+
jl_spin_mutex_unlock_nogc((jl_spin_mutex_t*)locks->items[i - 1]);
267267
locks->len = eh->locks_len;
268268
}
269269
ct->world_age = eh->world_age;

src/threading.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -730,14 +730,14 @@ JL_DLLEXPORT void jl_exit_threaded_region(void)
730730

731731
// Profiling stubs
732732

733-
void _jl_mutex_init(jl_spin_mutex_t *lock, const char *name) JL_NOTSAFEPOINT
733+
void _jl_spin_mutex_init(jl_spin_mutex_t *lock, const char *name) JL_NOTSAFEPOINT
734734
{
735735
jl_atomic_store_relaxed(&lock->owner, (jl_task_t*)NULL);
736736
lock->count = 0;
737737
jl_profile_lock_init(lock, name);
738738
}
739739

740-
void _jl_mutex_wait(jl_task_t *self, jl_spin_mutex_t *lock, int safepoint)
740+
void _jl_spin_mutex_wait(jl_task_t *self, jl_spin_mutex_t *lock, int safepoint)
741741
{
742742
jl_task_t *owner = jl_atomic_load_relaxed(&lock->owner);
743743
if (owner == self) {
@@ -787,14 +787,14 @@ static void jl_lock_frame_pop(jl_task_t *self)
787787
ptls->locks.len--;
788788
}
789789

790-
void _jl_mutex_lock(jl_task_t *self, jl_spin_mutex_t *lock)
790+
void _jl_spin_mutex_lock(jl_task_t *self, jl_spin_mutex_t *lock)
791791
{
792792
JL_SIGATOMIC_BEGIN_self();
793-
_jl_mutex_wait(self, lock, 1);
793+
_jl_spin_mutex_wait(self, lock, 1);
794794
jl_lock_frame_push(self, lock);
795795
}
796796

797-
int _jl_mutex_trylock_nogc(jl_task_t *self, jl_spin_mutex_t *lock)
797+
int _jl_spin_mutex_trylock_nogc(jl_task_t *self, jl_spin_mutex_t *lock)
798798
{
799799
jl_task_t *owner = jl_atomic_load_acquire(&lock->owner);
800800
if (owner == self) {
@@ -808,17 +808,17 @@ int _jl_mutex_trylock_nogc(jl_task_t *self, jl_spin_mutex_t *lock)
808808
return 0;
809809
}
810810

811-
int _jl_mutex_trylock(jl_task_t *self, jl_spin_mutex_t *lock)
811+
int _jl_spin_mutex_trylock(jl_task_t *self, jl_spin_mutex_t *lock)
812812
{
813-
int got = _jl_mutex_trylock_nogc(self, lock);
813+
int got = _jl_spin_mutex_trylock_nogc(self, lock);
814814
if (got) {
815815
JL_SIGATOMIC_BEGIN_self();
816816
jl_lock_frame_push(self, lock);
817817
}
818818
return got;
819819
}
820820

821-
void _jl_mutex_unlock_nogc(jl_spin_mutex_t *lock)
821+
void _jl_spin_mutex_unlock_nogc(jl_spin_mutex_t *lock)
822822
{
823823
#ifndef __clang_gcanalyzer__
824824
assert(jl_atomic_load_relaxed(&lock->owner) == jl_current_task &&
@@ -838,9 +838,9 @@ void _jl_mutex_unlock_nogc(jl_spin_mutex_t *lock)
838838
#endif
839839
}
840840

841-
void _jl_mutex_unlock(jl_task_t *self, jl_spin_mutex_t *lock)
841+
void _jl_spin_mutex_unlock(jl_task_t *self, jl_spin_mutex_t *lock)
842842
{
843-
_jl_mutex_unlock_nogc(lock);
843+
_jl_spin_mutex_unlock_nogc(lock);
844844
jl_lock_frame_pop(self);
845845
JL_SIGATOMIC_END_self();
846846
if (jl_atomic_load_relaxed(&jl_gc_have_pending_finalizers)) {

0 commit comments

Comments
 (0)