[K/N][New MM] Check if asserts are enabled in thread state asserts

This commit is contained in:
Ilya Matveev
2021-07-29 15:31:50 +07:00
committed by Space
parent 5ee87e126d
commit e45b13d582
3 changed files with 35 additions and 12 deletions
+8 -2
View File
@@ -414,11 +414,17 @@ ALWAYS_INLINE void AssertThreadState(MemoryState* thread, std::initializer_list<
// Asserts that the current thread is in the the given state.
ALWAYS_INLINE inline void AssertThreadState(ThreadState expected) noexcept {
AssertThreadState(mm::GetMemoryState(), expected);
// Avoid redundant TLS access in GetMemoryState if runtime asserts are disabled.
if (compiler::runtimeAssertsMode() != compiler::RuntimeAssertsMode::kIgnore) {
AssertThreadState(mm::GetMemoryState(), expected);
}
}
ALWAYS_INLINE inline void AssertThreadState(std::initializer_list<ThreadState> expected) noexcept {
AssertThreadState(mm::GetMemoryState(), expected);
// Avoid redundant TLS access in GetMemoryState if runtime asserts are disabled.
if (compiler::runtimeAssertsMode() != compiler::RuntimeAssertsMode::kIgnore) {
AssertThreadState(mm::GetMemoryState(), expected);
}
}
// Scopely sets the given thread state for the given thread.