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:
authorFadi Hanna <fadim@microsoft.com>2016-10-19 02:39:06 +0300
committerFadi Hanna <fadim@microsoft.com>2016-10-19 02:39:06 +0300
commitdd535f433564a5734bc6c931a4c7a8bb834987d2 (patch)
tree5d572860134ce7975e8400a202b31d396037e787 /src/Native/Runtime/portable.cpp
parent135400013170daf61928f1028a6e2250a208670f (diff)
Refactoring for the ThunkPool APIs:
1) Removing the ThunkPool APIs from the System.Private.Corelib layer and moving it to mrt100_app.dll. Reasons: a) A more correct layering b) Thunks are also used by mrt100_app, and today it has to call into the S.P.Corelib layer to get thunks c) The binder (which today takes care of laying out the thunks section) is going away with the ProjectX work, so the refactoring is needed 2) Addition of a new API: CreateThunksHeap. Thunks are allocated and deallocated from heaps, and each caller can create and managed their own heaps (TODO: heap deallocation feature) Note: The use of a simple heap removes the need for a the hashtable that we previously had in the old implementation, and simplifies the implementation a bit. 4) Optimization (use of simple thunks linked list with better perf characteristics) 5) Added ThunkPool APIs into the internal RuntimeAugments assembly, to enable writing of tests that directly target the thunks APIs 6) Tests for the feature (including a multithreaded test). Tested on all 3 architectures. [tfs-changeset: 1634032]
Diffstat (limited to 'src/Native/Runtime/portable.cpp')
-rw-r--r--src/Native/Runtime/portable.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Native/Runtime/portable.cpp b/src/Native/Runtime/portable.cpp
index fd7a24c0c..71a6f40ee 100644
--- a/src/Native/Runtime/portable.cpp
+++ b/src/Native/Runtime/portable.cpp
@@ -329,7 +329,7 @@ COOP_PINVOKE_HELPER(Int32, RhpLockCmpXchg32, (Int32 * location, Int32 value, Int
return PalInterlockedCompareExchange(location, value, comparand);
}
-COOP_PINVOKE_HELPER(Int64, RhpLockCmpXchg64, (Int64 * location, Int64 value, Int32 comparand))
+COOP_PINVOKE_HELPER(Int64, RhpLockCmpXchg64, (Int64 * location, Int64 value, Int64 comparand))
{
// @TODO: USE_PORTABLE_HELPERS - Null check
return PalInterlockedCompareExchange64(location, value, comparand);