Patch tracy for Windows on ARM
This commit is contained in:
@@ -177,6 +177,8 @@ public:
|
|||||||
# elif defined _WIN32
|
# elif defined _WIN32
|
||||||
# ifdef TRACY_TIMER_QPC
|
# ifdef TRACY_TIMER_QPC
|
||||||
return GetTimeQpc();
|
return GetTimeQpc();
|
||||||
|
# elif defined(_M_ARM64)
|
||||||
|
if( HardwareSupportsInvariantTSC() ) return int64_t( _ReadStatusReg(ARM64_PMCCNTR_EL0) );
|
||||||
# else
|
# else
|
||||||
if( HardwareSupportsInvariantTSC() ) return int64_t( __rdtsc() );
|
if( HardwareSupportsInvariantTSC() ) return int64_t( __rdtsc() );
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -781,7 +781,9 @@ rpmalloc_set_main_thread(void) {
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
_rpmalloc_spin(void) {
|
_rpmalloc_spin(void) {
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER) && defined(_M_ARM64)
|
||||||
|
__isb(_ARM64_BARRIER_SY);
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
_mm_pause();
|
_mm_pause();
|
||||||
#elif defined(__x86_64__) || defined(__i386__)
|
#elif defined(__x86_64__) || defined(__i386__)
|
||||||
__asm__ volatile("pause" ::: "memory");
|
__asm__ volatile("pause" ::: "memory");
|
||||||
|
|||||||
Reference in New Issue
Block a user