Skip to content

Commit 457e691

Browse files
jkotasstephentoub
authored andcommitted
Delete Thread-related dead code (#450)
* Delete Thread::m_threadsAtUnsafePlaces Never used. Always zero. * Delete Thread::m_pLoadingFile Never used * Delete Thread::m_nNestedMarshalingExceptions Never used * Delete Thread::m_PreventAbort Never used * Delete DisableAbortCheckHolder * Delete GetCurrentTaskType() * Delete ForbidSuspendThreadCrstHolder * Delete Thread::IsWithinCer * Delete fOneOnly * Move GetProcessMemoryLoad * Delete m_CleanupIPs * Delete 64k aliasing conflict workaround for Pentium 4 Not needed and/or included in the OS libraries * Delete loader heap perf counters * Delete SOWork* * Delete ClearThrowablesForUnload
1 parent 034c5a6 commit 457e691

28 files changed

+60
-683
lines changed

src/coreclr/src/inc/MSCOREE.IDL

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -94,22 +94,6 @@ typedef enum {
9494
WAIT_NOTINDEADLOCK = 0x4
9595
}WAIT_OPTION;
9696

97-
typedef enum ETaskType
98-
{
99-
TT_DEBUGGERHELPER = 0x1,
100-
TT_GC = 0x2,
101-
TT_FINALIZER = 0x4,
102-
TT_THREADPOOL_TIMER = 0x8,
103-
TT_THREADPOOL_GATE = 0x10,
104-
TT_THREADPOOL_WORKER = 0x20,
105-
TT_THREADPOOL_IOCOMPLETION = 0x40,
106-
TT_ADUNLOAD = 0x80,
107-
TT_USER = 0x100,
108-
TT_THREADPOOL_WAIT = 0x200,
109-
110-
TT_UNKNOWN = 0x80000000,
111-
} ETaskType;
112-
11397
typedef enum {
11498
// Default to minidump
11599
DUMP_FLAVOR_Mini = 0,

src/coreclr/src/inc/loaderheap.h

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,6 @@ class UnlockedLoaderHeap
215215

216216
size_t m_dwTotalAlloc;
217217

218-
size_t * m_pPrivatePerfCounter_LoaderBytes;
219-
220218
DWORD m_Options;
221219

222220
LoaderHeapFreeBlock *m_pFirstFreeBlock;
@@ -286,7 +284,6 @@ class UnlockedLoaderHeap
286284
DWORD dwCommitBlockSize,
287285
const BYTE* dwReservedRegionAddress,
288286
SIZE_T dwReservedRegionSize,
289-
size_t *pPrivatePerfCounter_LoaderBytes = NULL,
290287
RangeList *pRangeList = NULL,
291288
BOOL fMakeExecutable = FALSE);
292289

@@ -441,14 +438,12 @@ class LoaderHeap : public UnlockedLoaderHeap, public ILoaderHeapBackout
441438
public:
442439
LoaderHeap(DWORD dwReserveBlockSize,
443440
DWORD dwCommitBlockSize,
444-
size_t *pPrivatePerfCounter_LoaderBytes = NULL,
445441
RangeList *pRangeList = NULL,
446442
BOOL fMakeExecutable = FALSE
447443
)
448444
: UnlockedLoaderHeap(dwReserveBlockSize,
449445
dwCommitBlockSize,
450446
NULL, 0,
451-
pPrivatePerfCounter_LoaderBytes,
452447
pRangeList,
453448
fMakeExecutable)
454449
{
@@ -463,15 +458,13 @@ class LoaderHeap : public UnlockedLoaderHeap, public ILoaderHeapBackout
463458
DWORD dwCommitBlockSize,
464459
const BYTE* dwReservedRegionAddress,
465460
SIZE_T dwReservedRegionSize,
466-
size_t *pPrivatePerfCounter_LoaderBytes = NULL,
467461
RangeList *pRangeList = NULL,
468462
BOOL fMakeExecutable = FALSE
469463
)
470464
: UnlockedLoaderHeap(dwReserveBlockSize,
471465
dwCommitBlockSize,
472466
dwReservedRegionAddress,
473467
dwReservedRegionSize,
474-
pPrivatePerfCounter_LoaderBytes,
475468
pRangeList,
476469
fMakeExecutable)
477470
{
@@ -774,12 +767,10 @@ class ExplicitControlLoaderHeap : public UnlockedLoaderHeap
774767
{
775768
#ifndef DACCESS_COMPILE
776769
public:
777-
ExplicitControlLoaderHeap(size_t *pPrivatePerfCounter_LoaderBytes = NULL,
778-
RangeList *pRangeList = NULL,
770+
ExplicitControlLoaderHeap(RangeList *pRangeList = NULL,
779771
BOOL fMakeExecutable = FALSE
780772
)
781773
: UnlockedLoaderHeap(0, 0, NULL, 0,
782-
pPrivatePerfCounter_LoaderBytes,
783774
pRangeList,
784775
fMakeExecutable)
785776
{

src/coreclr/src/pal/prebuilt/inc/mscoree.h

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -132,22 +132,6 @@ enum __MIDL___MIDL_itf_mscoree_0000_0000_0003
132132
WAIT_NOTINDEADLOCK = 0x4
133133
} WAIT_OPTION;
134134

135-
typedef
136-
enum ETaskType
137-
{
138-
TT_DEBUGGERHELPER = 0x1,
139-
TT_GC = 0x2,
140-
TT_FINALIZER = 0x4,
141-
TT_THREADPOOL_TIMER = 0x8,
142-
TT_THREADPOOL_GATE = 0x10,
143-
TT_THREADPOOL_WORKER = 0x20,
144-
TT_THREADPOOL_IOCOMPLETION = 0x40,
145-
TT_ADUNLOAD = 0x80,
146-
TT_USER = 0x100,
147-
TT_THREADPOOL_WAIT = 0x200,
148-
TT_UNKNOWN = 0x80000000
149-
} ETaskType;
150-
151135
typedef /* [public] */
152136
enum __MIDL___MIDL_itf_mscoree_0000_0000_0004
153137
{

src/coreclr/src/utilcode/loaderheap.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -900,7 +900,6 @@ UnlockedLoaderHeap::UnlockedLoaderHeap(DWORD dwReserveBlockSize,
900900
DWORD dwCommitBlockSize,
901901
const BYTE* dwReservedRegionAddress,
902902
SIZE_T dwReservedRegionSize,
903-
size_t *pPrivatePerfCounter_LoaderBytes,
904903
RangeList *pRangeList,
905904
BOOL fMakeExecutable)
906905
{
@@ -936,8 +935,6 @@ UnlockedLoaderHeap::UnlockedLoaderHeap(DWORD dwReserveBlockSize,
936935
m_fStubUnwindInfoUnregistered= FALSE;
937936
#endif
938937

939-
m_pPrivatePerfCounter_LoaderBytes = pPrivatePerfCounter_LoaderBytes;
940-
941938
m_Options = 0;
942939

943940
#ifndef CROSSGEN_COMPILE
@@ -995,9 +992,6 @@ UnlockedLoaderHeap::~UnlockedLoaderHeap()
995992
_ASSERTE(fSuccess);
996993
}
997994

998-
if (m_pPrivatePerfCounter_LoaderBytes)
999-
*m_pPrivatePerfCounter_LoaderBytes = *m_pPrivatePerfCounter_LoaderBytes - (DWORD) m_dwTotalAlloc;
1000-
1001995
INDEBUG(s_dwNumInstancesOfLoaderHeaps --;)
1002996
}
1003997

@@ -1146,9 +1140,6 @@ BOOL UnlockedLoaderHeap::UnlockedReservePages(size_t dwSizeToCommit)
11461140
return FALSE;
11471141
}
11481142

1149-
if (m_pPrivatePerfCounter_LoaderBytes)
1150-
*m_pPrivatePerfCounter_LoaderBytes = *m_pPrivatePerfCounter_LoaderBytes + (DWORD) dwSizeToCommit;
1151-
11521143
// Record reserved range in range list, if one is specified
11531144
// Do this AFTER the commit - otherwise we'll have bogus ranges included.
11541145
if (m_pRangeList != NULL)
@@ -1230,9 +1221,6 @@ BOOL UnlockedLoaderHeap::GetMoreCommittedPages(size_t dwMinSize)
12301221
if (pData == NULL)
12311222
return FALSE;
12321223

1233-
if (m_pPrivatePerfCounter_LoaderBytes)
1234-
*m_pPrivatePerfCounter_LoaderBytes = *m_pPrivatePerfCounter_LoaderBytes + (DWORD) dwSizeToCommit;
1235-
12361224
m_dwTotalAlloc += dwSizeToCommit;
12371225

12381226
m_pPtrToEndOfCommittedRegion += dwSizeToCommit;

src/coreclr/src/vm/callhelpers.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -513,8 +513,6 @@ enum EEToManagedCallFlags
513513
MAKE_CURRENT_THREAD_AVAILABLE(); \
514514
DECLARE_CPFH_EH_RECORD(CURRENT_THREAD); \
515515
_ASSERTE(CURRENT_THREAD); \
516-
_ASSERTE(!CURRENT_THREAD->IsAbortPrevented() || \
517-
CURRENT_THREAD->IsAbortCheckDisabled()); \
518516
_ASSERTE((CURRENT_THREAD->m_StateNC & Thread::TSNC_OwnsSpinLock) == 0); \
519517
/* This bit should never be set when we call into managed code. The */ \
520518
/* stack walking code explicitly clears this around any potential calls */ \

src/coreclr/src/vm/ceeload.cpp

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6689,22 +6689,18 @@ LoaderHeap *Module::GetThunkHeap()
66896689
}
66906690
CONTRACT_END
66916691

6692-
if (!m_pThunkHeap)
6693-
{
6694-
size_t * pPrivatePCLBytes = NULL;
6695-
size_t * pGlobalPCLBytes = NULL;
6696-
6697-
LoaderHeap *pNewHeap = new LoaderHeap(VIRTUAL_ALLOC_RESERVE_GRANULARITY, // DWORD dwReserveBlockSize
6698-
0, // DWORD dwCommitBlockSize
6699-
pPrivatePCLBytes,
6700-
ThunkHeapStubManager::g_pManager->GetRangeList(),
6701-
TRUE); // BOOL fMakeExecutable
6692+
if (!m_pThunkHeap)
6693+
{
6694+
LoaderHeap *pNewHeap = new LoaderHeap(VIRTUAL_ALLOC_RESERVE_GRANULARITY, // DWORD dwReserveBlockSize
6695+
0, // DWORD dwCommitBlockSize
6696+
ThunkHeapStubManager::g_pManager->GetRangeList(),
6697+
TRUE); // BOOL fMakeExecutable
67026698

6703-
if (FastInterlockCompareExchangePointer(&m_pThunkHeap, pNewHeap, 0) != 0)
6704-
{
6705-
delete pNewHeap;
6706-
}
6699+
if (FastInterlockCompareExchangePointer(&m_pThunkHeap, pNewHeap, 0) != 0)
6700+
{
6701+
delete pNewHeap;
67076702
}
6703+
}
67086704

67096705
RETURN m_pThunkHeap;
67106706
}

src/coreclr/src/vm/ceemain.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1635,15 +1635,6 @@ void STDMETHODCALLTYPE EEShutDownHelper(BOOL fIsDllUnloading)
16351635
_ASSERTE(!"EE Shutting down after an assert");
16361636
#endif
16371637

1638-
1639-
#ifdef LOGGING
1640-
extern unsigned FcallTimeHist[11];
1641-
#endif
1642-
LOG((LF_STUBS, LL_INFO10, "FcallHist %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d\n",
1643-
FcallTimeHist[0], FcallTimeHist[1], FcallTimeHist[2], FcallTimeHist[3],
1644-
FcallTimeHist[4], FcallTimeHist[5], FcallTimeHist[6], FcallTimeHist[7],
1645-
FcallTimeHist[8], FcallTimeHist[9], FcallTimeHist[10]));
1646-
16471638
WriteJitHelperCountToSTRESSLOG();
16481639

16491640
STRESS_LOG0(LF_STARTUP, LL_INFO10, "EEShutdown shutting down logging");

src/coreclr/src/vm/codeman.cpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1953,9 +1953,8 @@ void CodeFragmentHeap::RealBackoutMem(void *pMem
19531953

19541954
//**************************************************************************
19551955

1956-
LoaderCodeHeap::LoaderCodeHeap(size_t * pPrivatePCLBytes)
1957-
: m_LoaderHeap(pPrivatePCLBytes,
1958-
0, // RangeList *pRangeList
1956+
LoaderCodeHeap::LoaderCodeHeap()
1957+
: m_LoaderHeap(NULL, // RangeList *pRangeList
19591958
TRUE), // BOOL fMakeExecutable
19601959
m_cbMinNextPad(0)
19611960
{
@@ -2133,7 +2132,6 @@ HeapList* LoaderCodeHeap::CreateCodeHeap(CodeHeapRequestInfo *pInfo, LoaderHeap
21332132
POSTCONDITION((RETVAL != NULL) || !pInfo->getThrowOnOutOfMemoryWithinRange());
21342133
} CONTRACT_END;
21352134

2136-
size_t * pPrivatePCLBytes = NULL;
21372135
size_t reserveSize = pInfo->getReserveSize();
21382136
size_t initialRequestSize = pInfo->getRequestSize();
21392137
const BYTE * loAddr = pInfo->m_loAddr;
@@ -2146,16 +2144,12 @@ HeapList* LoaderCodeHeap::CreateCodeHeap(CodeHeapRequestInfo *pInfo, LoaderHeap
21462144
EEPOLICY_HANDLE_FATAL_ERROR(COR_E_EXECUTIONENGINE);
21472145
}
21482146

2149-
#ifdef ENABLE_PERF_COUNTERS
2150-
pPrivatePCLBytes = &(GetPerfCounters().m_Loading.cbLoaderHeapSize);
2151-
#endif
2152-
21532147
LOG((LF_JIT, LL_INFO100,
21542148
"Request new LoaderCodeHeap::CreateCodeHeap(%08x, %08x, for loader allocator" FMT_ADDR "in" FMT_ADDR ".." FMT_ADDR ")\n",
21552149
(DWORD) reserveSize, (DWORD) initialRequestSize, DBG_ADDR(pInfo->m_pAllocator), DBG_ADDR(loAddr), DBG_ADDR(hiAddr)
21562150
));
21572151

2158-
NewHolder<LoaderCodeHeap> pCodeHeap(new LoaderCodeHeap(pPrivatePCLBytes));
2152+
NewHolder<LoaderCodeHeap> pCodeHeap(new LoaderCodeHeap());
21592153

21602154
BYTE * pBaseAddr = NULL;
21612155
DWORD dwSizeAcquiredFromInitialBlock = 0;

src/coreclr/src/vm/codeman.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ class LoaderCodeHeap : CodeHeap
511511
ExplicitControlLoaderHeap m_LoaderHeap;
512512
SSIZE_T m_cbMinNextPad;
513513

514-
LoaderCodeHeap(size_t * pPrivatePCLBytes);
514+
LoaderCodeHeap();
515515

516516
public:
517517
static HeapList* CreateCodeHeap(CodeHeapRequestInfo *pInfo, LoaderHeap *pJitMetaHeap);

src/coreclr/src/vm/comthreadpool.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,6 @@ FCIMPL0(FC_BOOL_RET, ThreadPoolNative::NotifyRequestComplete)
264264

265265
bool needReset =
266266
priority != ThreadNative::PRIORITY_NORMAL ||
267-
pThread->HasThreadStateNC(Thread::TSNC_SOWorkNeeded) ||
268267
!pThread->IsBackground();
269268

270269
bool shouldAdjustWorkers = ThreadpoolMgr::ShouldAdjustMaxWorkersActive();

src/coreclr/src/vm/corhost.cpp

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,44 +1206,8 @@ HRESULT CorHost2::CreateObject(REFIID riid, void **ppUnk)
12061206
return (hr);
12071207
}
12081208

1209-
1210-
//-----------------------------------------------------------------------------
1211-
// MapFile - Maps a file into the runtime in a non-standard way
1212-
//-----------------------------------------------------------------------------
1213-
1214-
static PEImage *MapFileHelper(HANDLE hFile)
1215-
{
1216-
CONTRACTL
1217-
{
1218-
THROWS;
1219-
GC_TRIGGERS;
1220-
MODE_ANY;
1221-
}
1222-
CONTRACTL_END;
1223-
1224-
GCX_PREEMP();
1225-
1226-
HandleHolder hFileMap(WszCreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL));
1227-
if (hFileMap == NULL)
1228-
ThrowLastError();
1229-
1230-
CLRMapViewHolder base(CLRMapViewOfFile(hFileMap, FILE_MAP_READ, 0, 0, 0));
1231-
if (base == NULL)
1232-
ThrowLastError();
1233-
1234-
DWORD dwSize = SafeGetFileSize(hFile, NULL);
1235-
if (dwSize == 0xffffffff && GetLastError() != NOERROR)
1236-
{
1237-
ThrowLastError();
1238-
}
1239-
PEImageHolder pImage(PEImage::LoadFlat(base, dwSize));
1240-
return pImage.Extract();
1241-
}
1242-
12431209
LONG CorHost2::m_RefCount = 0;
12441210

1245-
static Volatile<BOOL> fOneOnly = 0;
1246-
12471211
///////////////////////////////////////////////////////////////////////////////
12481212
// ICLRRuntimeHost::SetHostControl
12491213
///////////////////////////////////////////////////////////////////////////////
@@ -1259,20 +1223,6 @@ HRESULT CorHost2::GetCLRControl(ICLRControl** pCLRControl)
12591223
return E_NOTIMPL;
12601224
}
12611225

1262-
void GetProcessMemoryLoad(LPMEMORYSTATUSEX pMSEX)
1263-
{
1264-
CONTRACTL
1265-
{
1266-
NOTHROW;
1267-
GC_NOTRIGGER;
1268-
}
1269-
CONTRACTL_END;
1270-
1271-
pMSEX->dwLength = sizeof(MEMORYSTATUSEX);
1272-
BOOL fRet = GlobalMemoryStatusEx(pMSEX);
1273-
_ASSERTE (fRet);
1274-
}
1275-
12761226
// This is the instance that exposes interfaces out to all the other DLLs of the CLR
12771227
// so they can use our services for TLS, synchronization, memory allocation, etc.
12781228
static BYTE g_CEEInstance[sizeof(CExecutionEngine)];

src/coreclr/src/vm/domainfile.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -891,8 +891,6 @@ void DomainFile::LoadLibrary()
891891
}
892892
CONTRACTL_END;
893893

894-
Thread::LoadingFileHolder holder(GetThread());
895-
GetThread()->SetLoadingFile(this);
896894
GetFile()->LoadLibrary();
897895
}
898896

src/coreclr/src/vm/exceptionhandling.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2498,7 +2498,7 @@ CLRUnwindStatus ExceptionTracker::ProcessManagedCallFrame(
24982498

24992499
// Doing rude abort. Skip all non-constrained execution region code.
25002500
// When rude abort is initiated, we cannot intercept any exceptions.
2501-
if ((pThread->IsRudeAbortInitiated() && !pThread->IsWithinCer(pcfThisFrame)))
2501+
if (pThread->IsRudeAbortInitiated())
25022502
{
25032503
// If we are unwinding to find the real resume frame, then we cannot ignore frames yet.
25042504
// We need to make sure we find the correct resume frame before starting to ignore frames.
@@ -3030,7 +3030,7 @@ CLRUnwindStatus ExceptionTracker::ProcessManagedCallFrame(
30303030
pThread->m_dwIndexClauseForCatch = dwPreFilterTACatchHandlerClauseIndex;
30313031
pThread->m_sfEstablisherOfActualHandlerFrame = sfPreFilterEstablisherOfActualHandlerFrame;
30323032

3033-
if (pThread->IsRudeAbortInitiated() && !pThread->IsWithinCer(pcfThisFrame))
3033+
if (pThread->IsRudeAbortInitiated())
30343034
{
30353035
EH_LOG((LL_INFO100, " IGNOREFRAME: rude abort\n"));
30363036
goto lExit;

0 commit comments

Comments
 (0)