llvm-project/compiler-rt/lib/xray/xray_trampoline_powerpc64.cpp

16 lines
420 B
C++

#include <atomic>
#include <xray/xray_interface.h>
namespace __xray {
extern std::atomic<void (*)(int32_t, XRayEntryType)> XRayPatchedFunction;
// Implement this in C++ instead of assembly, to avoid dealing with ToC by hand.
void CallXRayPatchedFunction(int32_t FuncId, XRayEntryType Type) {
auto fptr = __xray::XRayPatchedFunction.load();
if (fptr != nullptr)
(*fptr)(FuncId, Type);
}
} // namespace __xray