Move GCHandle to shared (#22499)
authorStephen Toub <stoub@microsoft.com>
Mon, 11 Feb 2019 21:52:51 +0000 (16:52 -0500)
committerJan Kotas <jkotas@microsoft.com>
Mon, 11 Feb 2019 21:52:51 +0000 (13:52 -0800)
commit55dd4d44e5af6afd9ad8eef1ced2e8437c422269
treed28232d700b7d305f5cbb179a29d078136678a07
parent11b6d5e7d1061123bf65c7e6347b4fab356caff0
Move GCHandle to shared (#22499)

* Move GCHandle to shared

* Cache the handle in a local to make it easier for JIT to generate good code

* Rename m_handle to _handle to match the coding conventions

* Delete isPinned argument for GCHandleInternalCompareExchange

* Add fast path to GCHandle.Alloc/Free FCalls

* Disable outdated test
18 files changed:
src/System.Private.CoreLib/Resources/Strings.resx
src/System.Private.CoreLib/System.Private.CoreLib.csproj
src/System.Private.CoreLib/System.Private.CoreLib.sln
src/System.Private.CoreLib/shared/System.Private.CoreLib.Shared.projitems
src/System.Private.CoreLib/shared/System/Runtime/InteropServices/ArrayWithOffset.cs
src/System.Private.CoreLib/shared/System/Runtime/InteropServices/GCHandle.cs [new file with mode: 0644]
src/System.Private.CoreLib/shared/System/Runtime/InteropServices/GCHandleType.cs [new file with mode: 0644]
src/System.Private.CoreLib/shared/System/ThrowHelper.cs
src/System.Private.CoreLib/src/System/RtType.cs
src/System.Private.CoreLib/src/System/Runtime/InteropServices/GCHandle.CoreCLR.cs [new file with mode: 0644]
src/System.Private.CoreLib/src/System/Runtime/InteropServices/GCHandleCookieTable.cs [deleted file]
src/System.Private.CoreLib/src/System/Runtime/InteropServices/GcHandle.cs [deleted file]
src/System.Private.CoreLib/src/System/mda.cs
src/vm/appdomain.hpp
src/vm/ecalllist.h
src/vm/marshalnative.cpp
src/vm/marshalnative.h
tests/CoreFX/CoreFX.issues.json