summaryrefslogtreecommitdiff
path: root/src/vm/corhost.cpp
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2017-10-11 13:04:43 -0700
committerGitHub <noreply@github.com>2017-10-11 13:04:43 -0700
commit27a25bd37fa1fe6201c27709b1884e1b328f8beb (patch)
tree18b7773a7d8e18cca609417940804d8dff491da2 /src/vm/corhost.cpp
parentd07f1b24c4a69e6a205f8510f3dcfae0ad96aae8 (diff)
downloadcoreclr-27a25bd37fa1fe6201c27709b1884e1b328f8beb.tar.gz
coreclr-27a25bd37fa1fe6201c27709b1884e1b328f8beb.tar.bz2
coreclr-27a25bd37fa1fe6201c27709b1884e1b328f8beb.zip
Delete !FEATURE_IMPLICIT_TLS (#14398)
Linux and Windows arm64 are using the regular C/C++ thread local statics. This change unifies the remaining Windows architectures to be on the same plan.
Diffstat (limited to 'src/vm/corhost.cpp')
-rw-r--r--src/vm/corhost.cpp48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/vm/corhost.cpp b/src/vm/corhost.cpp
index f6ca34267a..b1e5a8a0f3 100644
--- a/src/vm/corhost.cpp
+++ b/src/vm/corhost.cpp
@@ -51,7 +51,6 @@
GVAL_IMPL_INIT(DWORD, g_fHostConfig, 0);
-#ifdef FEATURE_IMPLICIT_TLS
#ifndef __llvm__
EXTERN_C __declspec(thread) ThreadLocalInfo gCurrentThreadInfo;
#else // !__llvm__
@@ -62,11 +61,6 @@ EXTERN_C UINT32 _tls_index;
#else // FEATURE_PAL
UINT32 _tls_index = 0;
#endif // FEATURE_PAL
-SVAL_IMPL_INIT(DWORD, CExecutionEngine, TlsIndex, _tls_index);
-#else
-SVAL_IMPL_INIT(DWORD, CExecutionEngine, TlsIndex, TLS_OUT_OF_INDEXES);
-#endif
-
#if defined(FEATURE_WINDOWSPHONE)
SVAL_IMPL_INIT(ECustomDumpFlavor, CCLRErrorReportingManager, g_ECustomDumpFlavor, DUMP_FLAVOR_Default);
@@ -3168,7 +3162,6 @@ VOID WINAPI FlsCallback(
#endif // HAS_FLS_SUPPORT
-#ifdef FEATURE_IMPLICIT_TLS
void** CExecutionEngine::GetTlsData()
{
LIMITED_METHOD_CONTRACT;
@@ -3183,28 +3176,6 @@ BOOL CExecutionEngine::SetTlsData (void** ppTlsInfo)
gCurrentThreadInfo.m_EETlsData = ppTlsInfo;
return TRUE;
}
-#else
-void** CExecutionEngine::GetTlsData()
-{
- LIMITED_METHOD_CONTRACT;
-
- if (TlsIndex == TLS_OUT_OF_INDEXES)
- return NULL;
-
- void **ppTlsData = (void **)UnsafeTlsGetValue(TlsIndex);
- return ppTlsData;
-}
-BOOL CExecutionEngine::SetTlsData (void** ppTlsInfo)
-{
- LIMITED_METHOD_CONTRACT;
-
- if (TlsIndex == TLS_OUT_OF_INDEXES)
- return FALSE;
-
- return UnsafeTlsSetValue(TlsIndex, ppTlsInfo);
-}
-
-#endif // FEATURE_IMPLICIT_TLS
//---------------------------------------------------------------------------------------
//
@@ -3295,25 +3266,6 @@ void **CExecutionEngine::CheckThreadState(DWORD slot, BOOL force)
}
#endif // HAS_FLS_SUPPORT
-#ifndef FEATURE_IMPLICIT_TLS
- // Ensure we have a TLS Index
- if (TlsIndex == TLS_OUT_OF_INDEXES)
- {
- DWORD tryTlsIndex = UnsafeTlsAlloc();
- if (tryTlsIndex != TLS_OUT_OF_INDEXES)
- {
- if (FastInterlockCompareExchange((LONG*)&TlsIndex, tryTlsIndex, TLS_OUT_OF_INDEXES) != (LONG)TLS_OUT_OF_INDEXES)
- {
- UnsafeTlsFree(tryTlsIndex);
- }
- }
- if (TlsIndex == TLS_OUT_OF_INDEXES)
- {
- COMPlusThrowOM();
- }
- }
-#endif // FEATURE_IMPLICIT_TLS
-
void** pTlsData = CExecutionEngine::GetTlsData();
BOOL fInTls = (pTlsData != NULL);