Skip to content

Commit e1a789a

Browse files
committed
"WASI is single-threaded" version branch substituted by isSingleThreaded check
1 parent 4264da7 commit e1a789a

10 files changed

Lines changed: 24 additions & 28 deletions

File tree

druntime/src/core/internal/gc/impl/conservative/gc.d

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ module core.internal.gc.impl.conservative.gc;
2929
//debug = VALGRIND; // Valgrind memcheck integration
3030

3131
/***************************************************/
32-
version (WASI) {} // WASI is single-threaded
33-
else
32+
static if (!isSingleThreaded)
3433
{
3534
version = COLLECT_PARALLEL; // parallel scanning
3635

druntime/src/core/sync/barrier.d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ module core.sync.barrier;
1919
public import core.sync.exception;
2020
import core.sync.condition;
2121
import core.sync.mutex;
22+
import core.thread : isSingleThreaded;
2223

2324

2425
////////////////////////////////////////////////////////////////////////////////
@@ -106,8 +107,7 @@ private:
106107
// Unit Tests
107108
////////////////////////////////////////////////////////////////////////////////
108109

109-
version (WASI) {} // WASI is single-threaded
110-
else
110+
static if(!isSingleThreaded)
111111
unittest
112112
{
113113
import core.thread;

druntime/src/core/sync/condition.d

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public import core.sync.mutex;
2121
public import core.time;
2222

2323
import core.exception : AssertError, staticError;
24+
import core.thread : isSingleThreaded;
2425

2526

2627
version (Windows)
@@ -623,8 +624,7 @@ private:
623624
// Unit Tests
624625
////////////////////////////////////////////////////////////////////////////////
625626

626-
version (WASI) {} // WASI is single-threaded
627-
else
627+
static if(!isSingleThreaded)
628628
unittest
629629
{
630630
import core.atomic : atomicLoad;
@@ -792,8 +792,7 @@ unittest
792792
testWaitTimeout();
793793
}
794794

795-
version (WASI) {} // WASI is single-threaded
796-
else
795+
static if(!isSingleThreaded)
797796
unittest
798797
{
799798
import core.atomic : atomicLoad;

druntime/src/core/sync/event.d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ else
3333

3434
import core.internal.abort : abort;
3535
import core.time;
36+
import core.thread : isSingleThreaded;
3637

3738
/**
3839
* represents an event. Clients of an event are suspended while waiting
@@ -333,8 +334,7 @@ private:
333334
assert(!ev2.wait(1.dur!"msecs"));
334335
}
335336

336-
version (WASI) {} // WASI is single-threaded
337-
else
337+
static if(!isSingleThreaded)
338338
unittest
339339
{
340340
import core.atomic;

druntime/src/core/sync/mutex.d

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ module core.sync.mutex;
1717

1818

1919
public import core.sync.exception;
20+
import core.thread : isSingleThreaded;
2021

2122
version (Windows)
2223
{
@@ -309,8 +310,7 @@ package:
309310
///
310311
/* @safe nothrow -> see druntime PR 1726 */
311312
// Test regular usage.
312-
version (WASI) {} // WASI is single-threaded
313-
else
313+
static if(!isSingleThreaded)
314314
unittest
315315
{
316316
import core.thread : Thread;
@@ -417,8 +417,7 @@ unittest
417417
m.unlock();
418418
}
419419

420-
version (WASI) {} // WASI is single-threaded
421-
else
420+
static if(!isSingleThreaded)
422421
unittest
423422
{
424423
import core.thread;

druntime/src/core/sync/rwmutex.d

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ module core.sync.rwmutex;
1919
public import core.sync.exception;
2020
import core.sync.condition;
2121
import core.sync.mutex;
22+
import core.thread : isSingleThreaded;
2223
import core.memory;
2324
import core.atomic : atomicLoad;
2425

@@ -562,8 +563,7 @@ private:
562563
// Unit Tests
563564
////////////////////////////////////////////////////////////////////////////////
564565

565-
version (WASI) {} // WASI is single-threaded
566-
else
566+
static if(!isSingleThreaded)
567567
unittest
568568
{
569569
import core.atomic, core.thread, core.sync.semaphore;
@@ -703,8 +703,7 @@ unittest
703703
runTest(ReadWriteMutex.Policy.PREFER_WRITERS);
704704
}
705705

706-
version (WASI) {} // WASI is single-threaded
707-
else
706+
static if(!isSingleThreaded)
708707
unittest
709708
{
710709
import core.atomic, core.thread;
@@ -781,8 +780,7 @@ unittest
781780
}
782781
}
783782

784-
version (WASI) {} // WASI is single-threaded
785-
else
783+
static if(!isSingleThreaded)
786784
unittest
787785
{
788786
import core.atomic, core.thread, core.sync.semaphore;
@@ -924,8 +922,7 @@ unittest
924922
runTest(ReadWriteMutex.Policy.PREFER_WRITERS);
925923
}
926924

927-
version (WASI) {} // WASI is single-threaded
928-
else
925+
static if(!isSingleThreaded)
929926
unittest
930927
{
931928
import core.atomic, core.thread;

druntime/src/core/sync/semaphore.d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ module core.sync.semaphore;
1717

1818
public import core.sync.exception;
1919
public import core.time;
20+
import core.thread : isSingleThreaded;
2021

2122
version (OSX)
2223
version = Darwin;
@@ -398,8 +399,7 @@ protected:
398399
// Unit Tests
399400
////////////////////////////////////////////////////////////////////////////////
400401

401-
version (WASI) {} // WASI is single-threaded
402-
else
402+
static if(!isSingleThreaded)
403403
unittest
404404
{
405405
import core.atomic;

druntime/src/core/thread/package.d

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ public import core.thread.context;
2222

2323
// this test is here to avoid a cyclic dependency between
2424
// core.thread and core.atomic
25-
version (WASI) {} // WASI is single-threaded
26-
else
25+
static if(!isSingleThreaded)
2726
@system unittest
2827
{
2928
import core.atomic;

druntime/src/core/thread/posix_impl.d

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,10 @@ else
156156
}
157157
}
158158

159-
package enum isSingleThreaded = false;
159+
version (WASI)
160+
package(core) enum isSingleThreaded = true;
161+
else
162+
package(core) enum isSingleThreaded = false;
160163

161164
version (CoreDdoc) {} else
162165
class Thread : ThreadBase

druntime/src/core/thread/windows_impl.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ package void* swapContextImpl()(void* newContext) nothrow @nogc
5252
return _d_eh_swapContext(newContext);
5353
}
5454

55-
package enum isSingleThreaded = false;
55+
package(core) enum isSingleThreaded = false;
5656

5757
version (CoreDdoc) {} else
5858
class Thread : ThreadBase

0 commit comments

Comments
 (0)