mirror of
https://github.com/bkaradzic/bx.git
synced 2026-02-17 20:52:37 +01:00
Cleanup.
This commit is contained in:
@@ -8,25 +8,6 @@
|
||||
|
||||
#include "bx.h"
|
||||
|
||||
#if BX_COMPILER_MSVC
|
||||
# include <math.h> // math.h is included because VS bitches:
|
||||
// warning C4985: 'ceil': attributes not present on previous declaration.
|
||||
// must be included before intrin.h.
|
||||
# include <intrin.h>
|
||||
# include <windows.h>
|
||||
# if BX_PLATFORM_WINRT
|
||||
# define _InterlockedExchangeAdd64 InterlockedExchangeAdd64
|
||||
# endif // BX_PLATFORM_WINRT
|
||||
extern "C" void _ReadBarrier();
|
||||
extern "C" void _WriteBarrier();
|
||||
extern "C" void _ReadWriteBarrier();
|
||||
# pragma intrinsic(_ReadBarrier)
|
||||
# pragma intrinsic(_WriteBarrier)
|
||||
# pragma intrinsic(_ReadWriteBarrier)
|
||||
# pragma intrinsic(_InterlockedExchangeAdd)
|
||||
# pragma intrinsic(_InterlockedCompareExchange)
|
||||
#endif // BX_COMPILER_MSVC
|
||||
|
||||
namespace bx
|
||||
{
|
||||
///
|
||||
|
||||
@@ -7,6 +7,30 @@
|
||||
# error "Must be included from bx/cpu.h!"
|
||||
#endif // BX_CPU_H_HEADER_GUARD
|
||||
|
||||
#if BX_COMPILER_MSVC
|
||||
# if BX_PLATFORM_WINRT
|
||||
# define _InterlockedExchangeAdd64 InterlockedExchangeAdd64
|
||||
# endif // BX_PLATFORM_WINRT
|
||||
|
||||
extern "C" void _ReadBarrier();
|
||||
# pragma intrinsic(_ReadBarrier)
|
||||
|
||||
extern "C" void _WriteBarrier();
|
||||
# pragma intrinsic(_WriteBarrier)
|
||||
|
||||
extern "C" void _ReadWriteBarrier();
|
||||
# pragma intrinsic(_ReadWriteBarrier)
|
||||
|
||||
extern "C" long _InterlockedExchangeAdd(long volatile* _target, long _value);
|
||||
# pragma intrinsic(_InterlockedExchangeAdd)
|
||||
|
||||
extern "C" long _InterlockedCompareExchange(long volatile* _target, long _exchange, long _comparand);
|
||||
# pragma intrinsic(_InterlockedCompareExchange)
|
||||
|
||||
extern "C" void* InterlockedExchangePointer(void volatile* _target, void* _value);
|
||||
# pragma intrinsic(InterlockedExchangePointer)
|
||||
#endif // BX_COMPILER_MSVC
|
||||
|
||||
namespace bx
|
||||
{
|
||||
inline void readBarrier()
|
||||
@@ -44,7 +68,6 @@ namespace bx
|
||||
_mm_mfence();
|
||||
#else
|
||||
__sync_synchronize();
|
||||
// asm volatile("mfence":::"memory");
|
||||
#endif // BX_COMPILER
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user