xray_trampoline_powerpc64.cpp revision 360784
1#include <atomic>
2#include <xray/xray_interface.h>
3
4namespace __xray {
5
6extern std::atomic<void (*)(int32_t, XRayEntryType)> XRayPatchedFunction;
7
8// Implement this in C++ instead of assembly, to avoid dealing with ToC by hand.
9void CallXRayPatchedFunction(int32_t FuncId, XRayEntryType Type) {
10  auto fptr = __xray::XRayPatchedFunction.load();
11  if (fptr != nullptr)
12    (*fptr)(FuncId, Type);
13}
14
15} // namespace __xray
16