diff options
author | Gaurav Khanna (CLR) <gaurav.khanna@microsoft.com> | 2015-12-28 13:39:04 -0800 |
---|---|---|
committer | Gaurav Khanna (CLR) <gaurav.khanna@microsoft.com> | 2015-12-28 13:39:04 -0800 |
commit | e8e0aa96c7a77f695c3993793ef85e6165727231 (patch) | |
tree | 16b7839091658e1444b2db20cbdda86fa2c889ac /src/gc/env/gcenv.base.h | |
parent | 67f796777e117fb3ee664e67b86768a276a83981 (diff) | |
download | coreclr-e8e0aa96c7a77f695c3993793ef85e6165727231.tar.gz coreclr-e8e0aa96c7a77f695c3993793ef85e6165727231.tar.bz2 coreclr-e8e0aa96c7a77f695c3993793ef85e6165727231.zip |
Arm64 build fixes
Diffstat (limited to 'src/gc/env/gcenv.base.h')
-rw-r--r-- | src/gc/env/gcenv.base.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/gc/env/gcenv.base.h b/src/gc/env/gcenv.base.h index 628a90cc88..398f5b11c7 100644 --- a/src/gc/env/gcenv.base.h +++ b/src/gc/env/gcenv.base.h @@ -128,7 +128,17 @@ typedef DWORD (WINAPI *PTHREAD_START_ROUTINE)(void* lpThreadParameter); extern "C" void __emit(const unsigned __int32 opcode); #pragma intrinsic(__emit) #define MemoryBarrier() { __emit(0xF3BF); __emit(0x8F5F); } - + + #elif defined(_ARM64_) + + extern "C" void __yield(void); + #pragma intrinsic(__yield) + __forceinline void YieldProcessor() { __yield();} + + extern "C" void __dmb(const unsigned __int32 _Type); + #pragma intrinsic(__dmb) + #define MemoryBarrier() { __dmb(_ARM_BARRIER_SY); } + #elif defined(_AMD64_) extern "C" VOID |