Fix Experimental MM tests on mingw
This commit is contained in:
committed by
Space
parent
6db5fc0a23
commit
b7fbe09ef4
@@ -714,8 +714,7 @@ task runtime_basic_simd(type: KonanLocalTest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
task runtime_worker_random(type: KonanLocalTest) {
|
task runtime_worker_random(type: KonanLocalTest) {
|
||||||
enabled = (project.testTarget != 'wasm32') && // Uses workers.
|
enabled = (project.testTarget != 'wasm32') // Uses workers.
|
||||||
!(isExperimentalMM && project.testTarget == 'mingw_x64') // TODO: Fix Experimental MM performance on Windows.
|
|
||||||
source = "runtime/basic/worker_random.kt"
|
source = "runtime/basic/worker_random.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -888,8 +887,7 @@ standaloneTest("cleaner_in_tls_worker") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
standaloneTest("worker_bound_reference0") {
|
standaloneTest("worker_bound_reference0") {
|
||||||
enabled = (project.testTarget != 'wasm32') && // Workers need pthreads.
|
enabled = (project.testTarget != 'wasm32') // Workers need pthreads.
|
||||||
!(isExperimentalMM && project.testTarget == 'mingw_x64') // TODO: Fix Experimental MM performance on Windows.
|
|
||||||
source = "runtime/concurrent/worker_bound_reference0.kt"
|
source = "runtime/concurrent/worker_bound_reference0.kt"
|
||||||
flags = ['-tr']
|
flags = ['-tr']
|
||||||
}
|
}
|
||||||
@@ -901,15 +899,13 @@ task worker0(type: KonanLocalTest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
task worker1(type: KonanLocalTest) {
|
task worker1(type: KonanLocalTest) {
|
||||||
enabled = (project.testTarget != 'wasm32') && // Workers need pthreads.
|
enabled = (project.testTarget != 'wasm32') // Workers need pthreads.
|
||||||
!(isExperimentalMM && project.testTarget == 'mingw_x64') // TODO: Fix Experimental MM performance on Windows.
|
|
||||||
goldValue = "OK\n"
|
goldValue = "OK\n"
|
||||||
source = "runtime/workers/worker1.kt"
|
source = "runtime/workers/worker1.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
task worker2(type: KonanLocalTest) {
|
task worker2(type: KonanLocalTest) {
|
||||||
enabled = (project.testTarget != 'wasm32') && // Workers need pthreads.
|
enabled = (project.testTarget != 'wasm32') // Workers need pthreads.
|
||||||
!(isExperimentalMM && project.testTarget == 'mingw_x64') // TODO: Fix Experimental MM performance on Windows.
|
|
||||||
goldValue = "OK\n"
|
goldValue = "OK\n"
|
||||||
source = "runtime/workers/worker2.kt"
|
source = "runtime/workers/worker2.kt"
|
||||||
}
|
}
|
||||||
@@ -964,8 +960,7 @@ task worker10(type: KonanLocalTest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
task worker11(type: KonanLocalTest) {
|
task worker11(type: KonanLocalTest) {
|
||||||
enabled = (project.testTarget != 'wasm32') && // Workers need pthreads.
|
enabled = (project.testTarget != 'wasm32') // Workers need pthreads.
|
||||||
!(isExperimentalMM && project.testTarget == 'mingw_x64') // TODO: Fix Experimental MM performance on Windows.
|
|
||||||
goldValue = "OK\n"
|
goldValue = "OK\n"
|
||||||
source = "runtime/workers/worker11.kt"
|
source = "runtime/workers/worker11.kt"
|
||||||
}
|
}
|
||||||
@@ -1033,8 +1028,7 @@ task freeze6(type: KonanLocalTest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
task atomic0(type: KonanLocalTest) {
|
task atomic0(type: KonanLocalTest) {
|
||||||
enabled = (project.testTarget != 'wasm32') && // Workers need pthreads.
|
enabled = (project.testTarget != 'wasm32') // Workers need pthreads.
|
||||||
!(isExperimentalMM && project.testTarget == 'mingw_x64') // TODO: Fix Experimental MM performance on Windows.
|
|
||||||
goldValue = "35\n" + "20\n" + "OK\n"
|
goldValue = "35\n" + "20\n" + "OK\n"
|
||||||
source = "runtime/workers/atomic0.kt"
|
source = "runtime/workers/atomic0.kt"
|
||||||
}
|
}
|
||||||
@@ -2831,8 +2825,7 @@ task initializers5(type: KonanLocalTest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
task initializers6(type: KonanLocalTest) {
|
task initializers6(type: KonanLocalTest) {
|
||||||
disabled = (project.testTarget == 'wasm32') || // Needs workers.
|
disabled = (project.testTarget == 'wasm32') // Needs workers.
|
||||||
(isExperimentalMM && project.testTarget == 'mingw_x64') // TODO: Fix Experimental MM performance on Windows.
|
|
||||||
source = "runtime/basic/initializers6.kt"
|
source = "runtime/basic/initializers6.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -888,7 +888,11 @@ void* workerRoutine(void* argument) {
|
|||||||
// to see there's already a worker created for this thread.
|
// to see there's already a worker created for this thread.
|
||||||
::g_worker = worker;
|
::g_worker = worker;
|
||||||
Kotlin_initRuntimeIfNeeded();
|
Kotlin_initRuntimeIfNeeded();
|
||||||
SwitchThreadState(worker->memoryState(), ThreadState::kRunnable);
|
|
||||||
|
// Only run this routine in the runnable state. The moment between this routine exiting and thread
|
||||||
|
// destructors running will be spent in the native state. `Kotlin_deinitRuntimeCallback` ensures
|
||||||
|
// that runtime deinitialization switches back to the runnable state.
|
||||||
|
kotlin::ThreadStateGuard guard(worker->memoryState(), ThreadState::kRunnable);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (worker->processQueueElement(true) == JOB_TERMINATE) break;
|
if (worker->processQueueElement(true) == JOB_TERMINATE) break;
|
||||||
|
|||||||
Reference in New Issue
Block a user