Files
Sönke Holz 006de308b5 AK+DynamicLoader: Move optimizer_fence() into AK
This will allow us to use this function in other places.
2026-08-16 16:57:03 +02:00

35 lines
593 B
C++

/*
* Copyright (c) 2026, Sönke Holz <[email protected]>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Types.h>
namespace AK {
static inline void atomic_signal_fence(MemoryOrder order) noexcept
{
return __atomic_signal_fence(order);
}
static inline void atomic_thread_fence(MemoryOrder order) noexcept
{
return __atomic_thread_fence(order);
}
static inline void optimizer_fence()
{
asm volatile("" ::: "memory");
}
}
#if USING_AK_GLOBALLY
using AK::atomic_signal_fence;
using AK::atomic_thread_fence;
using AK::optimizer_fence;
#endif