reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
#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