summaryrefslogtreecommitdiff
path: root/src/gc/env/gcenv.base.h
diff options
context:
space:
mode:
authorGaurav Khanna (CLR) <gaurav.khanna@microsoft.com>2015-12-28 13:39:04 -0800
committerGaurav Khanna (CLR) <gaurav.khanna@microsoft.com>2015-12-28 13:39:04 -0800
commite8e0aa96c7a77f695c3993793ef85e6165727231 (patch)
tree16b7839091658e1444b2db20cbdda86fa2c889ac /src/gc/env/gcenv.base.h
parent67f796777e117fb3ee664e67b86768a276a83981 (diff)
downloadcoreclr-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.h12
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