Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2016-06-01 03:41:11 +0300
committerJan Kotas <jkotas@microsoft.com>2016-06-01 03:41:11 +0300
commitf8c15e4921eacb4c8f96ecea1c02c907a0418745 (patch)
tree1167cd4a3e32baf9097be762e234f1a9634ec549 /src/Native/Runtime/thread.inl
parentd34aaaaf70dc1a2d13b5f9f2b8e8a84b53fceb34 (diff)
Reduce assembly code in alloc helpers
- Use extern "C" names for methods called from asm helper to avoid dealing with name mangling for ports - Move hooking up of the PInvoke tunnel to C++ - Change arm assembly code to follow same naming pattern as x86 and arm64 [tfs-changeset: 1609408]
Diffstat (limited to 'src/Native/Runtime/thread.inl')
-rw-r--r--src/Native/Runtime/thread.inl19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/Native/Runtime/thread.inl b/src/Native/Runtime/thread.inl
new file mode 100644
index 000000000..ec7cf53c8
--- /dev/null
+++ b/src/Native/Runtime/thread.inl
@@ -0,0 +1,19 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+#ifndef DACCESS_COMPILE
+inline void Thread::SetCurrentThreadPInvokeTunnelForGcAlloc(void * pTransitionFrame)
+{
+ ASSERT(ThreadStore::GetCurrentThread() == this);
+ ASSERT(Thread::IsCurrentThreadInCooperativeMode());
+ m_pHackPInvokeTunnel = pTransitionFrame;
+}
+
+inline void Thread::SetupHackPInvokeTunnel()
+{
+ ASSERT(ThreadStore::GetCurrentThread() == this);
+ ASSERT(!Thread::IsCurrentThreadInCooperativeMode());
+ m_pHackPInvokeTunnel = m_pTransitionFrame;
+}
+#endif // DACCESS_COMPILE