Remove GETTHREAD_ALLOWED tracking (#50080)
authorVladimir Sadov <vsadov@microsoft.com>
Thu, 25 Mar 2021 21:26:44 +0000 (14:26 -0700)
committerGitHub <noreply@github.com>
Thu, 25 Mar 2021 21:26:44 +0000 (21:26 +0000)
commit9b1623fd448ca7ec5f4721fe16e8d550fc69dd7a
tree82ad8a6f01851bb77252516e56132e5d731f50e7
parent553338882229caaa892227e251a0c15fbb6b13dd
Remove GETTHREAD_ALLOWED tracking (#50080)

* Remove GETTHREAD_ALLOWED tracking

* removed EE_THREAD_NOT_REQUIRED

* removed EE_THREAD_REQUIRED

* step1

* more changes

* fix Unix build

* more changes

* GetThread in pinvokestubs.S

* build fix for dac

* PInvokeGetThreadHelper

* more changes (dac)

* more (cordbe)

* more (nearly all?)

* Couple places that were mistakengly set to use `GetThreaNotOk` (should use `GetThreadNULLOk`)

* Renamed GetThread() -> GetThreadDoNotUse()

* Missed a few uses of GetThread()

* One more case of GetThread

* Bring GetThread() back - now with an assert in it.

* Renamed PInvokeGetThreadHelper -> JitGetThreadHelper

* One place that should use GetThreadNULLOk (otherwise there are asserts)

* Apply suggestions from code review

Jan's 74 suggestions.

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* remove SetFiberMode - it is dead code

* Make `EE_THREAD_NOT_REQUIRED` a noop and revert its removal.

* `GetThreadNULLOk()` should be used here.

* PR review suggestion

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* renamed JitGetThreadHelper -> GetThreadHelper

* One more place that should use `GetThreadNULLOk()`.

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
105 files changed:
src/coreclr/debug/daccess/reimpl.cpp
src/coreclr/debug/ee/canary.cpp
src/coreclr/debug/ee/controller.cpp
src/coreclr/debug/ee/debugger.cpp
src/coreclr/debug/ee/debugger.h
src/coreclr/debug/ee/frameinfo.cpp
src/coreclr/inc/contract.h
src/coreclr/inc/ex.h
src/coreclr/vm/amd64/excepamd64.cpp
src/coreclr/vm/amd64/jitinterfaceamd64.cpp
src/coreclr/vm/amd64/pinvokestubs.S
src/coreclr/vm/appdomain.cpp
src/coreclr/vm/appdomain.hpp
src/coreclr/vm/arm/exceparm.cpp
src/coreclr/vm/arm/pinvokestubs.S
src/coreclr/vm/arm/stubs.cpp
src/coreclr/vm/arm64/pinvokestubs.S
src/coreclr/vm/arm64/stubs.cpp
src/coreclr/vm/assembly.cpp
src/coreclr/vm/binder.cpp
src/coreclr/vm/callcounting.cpp
src/coreclr/vm/callhelpers.cpp
src/coreclr/vm/ceemain.cpp
src/coreclr/vm/classcompat.cpp
src/coreclr/vm/clrex.cpp
src/coreclr/vm/clrex.h
src/coreclr/vm/clrtocomcall.cpp
src/coreclr/vm/clsload.cpp
src/coreclr/vm/codeman.cpp
src/coreclr/vm/comcache.cpp
src/coreclr/vm/cominterfacemarshaler.cpp
src/coreclr/vm/common.h
src/coreclr/vm/compile.cpp
src/coreclr/vm/comthreadpool.cpp
src/coreclr/vm/comtoclrcall.cpp
src/coreclr/vm/comutilnative.cpp
src/coreclr/vm/contractimpl.cpp
src/coreclr/vm/corhost.cpp
src/coreclr/vm/crst.cpp
src/coreclr/vm/dbginterface.h
src/coreclr/vm/debugdebugger.cpp
src/coreclr/vm/debughelp.cpp
src/coreclr/vm/dllimportcallback.cpp
src/coreclr/vm/domainfile.cpp
src/coreclr/vm/dwreport.cpp
src/coreclr/vm/eecontract.cpp
src/coreclr/vm/eecontract.h
src/coreclr/vm/eedbginterfaceimpl.cpp
src/coreclr/vm/eehash.inl
src/coreclr/vm/eepolicy.cpp
src/coreclr/vm/eetoprofinterfaceimpl.cpp
src/coreclr/vm/encee.cpp
src/coreclr/vm/eventing/eventpipe/ep-rt-coreclr.h
src/coreclr/vm/eventpipeinternal.cpp
src/coreclr/vm/eventreporter.cpp
src/coreclr/vm/eventtrace.cpp
src/coreclr/vm/excep.cpp
src/coreclr/vm/exceptionhandling.cpp
src/coreclr/vm/exinfo.cpp
src/coreclr/vm/exstate.cpp
src/coreclr/vm/fcall.cpp
src/coreclr/vm/finalizerthread.cpp
src/coreclr/vm/finalizerthread.h
src/coreclr/vm/frames.cpp
src/coreclr/vm/gccover.cpp
src/coreclr/vm/gcenv.ee.cpp
src/coreclr/vm/gcstress.h
src/coreclr/vm/hash.cpp
src/coreclr/vm/hosting.cpp
src/coreclr/vm/i386/excepx86.cpp
src/coreclr/vm/i386/jitinterfacex86.cpp
src/coreclr/vm/i386/stublinkerx86.cpp
src/coreclr/vm/ibclogger.cpp
src/coreclr/vm/interoputil.cpp
src/coreclr/vm/interpreter.cpp
src/coreclr/vm/jithelpers.cpp
src/coreclr/vm/jithost.cpp
src/coreclr/vm/jitinterface.cpp
src/coreclr/vm/jitinterface.h
src/coreclr/vm/methodtable.cpp
src/coreclr/vm/methodtablebuilder.cpp
src/coreclr/vm/nativeoverlapped.cpp
src/coreclr/vm/object.cpp
src/coreclr/vm/prestub.cpp
src/coreclr/vm/profilinghelper.inl
src/coreclr/vm/proftoeeinterfaceimpl.cpp
src/coreclr/vm/proftoeeinterfaceimpl.inl
src/coreclr/vm/runtimecallablewrapper.cpp
src/coreclr/vm/simplerwlock.cpp
src/coreclr/vm/spinlock.cpp
src/coreclr/vm/stackwalk.cpp
src/coreclr/vm/stringliteralmap.h
src/coreclr/vm/syncblk.cpp
src/coreclr/vm/syncclean.cpp
src/coreclr/vm/synch.cpp
src/coreclr/vm/threadpoolrequest.cpp
src/coreclr/vm/threads.cpp
src/coreclr/vm/threads.h
src/coreclr/vm/threads.inl
src/coreclr/vm/threadstatics.h
src/coreclr/vm/threadsuspend.cpp
src/coreclr/vm/util.cpp
src/coreclr/vm/virtualcallstub.cpp
src/coreclr/vm/win32threadpool.cpp
src/coreclr/vm/win32threadpool.h