diff options
| author | Dean Michael Berris <dberris@google.com> | 2017-05-12 01:07:41 +0000 |
|---|---|---|
| committer | Dean Michael Berris <dberris@google.com> | 2017-05-12 01:07:41 +0000 |
| commit | 29e16deb177528da8858d9866381cf12e40b406a (patch) | |
| tree | d5cd3ab80c9420014d607793cf2e450b5cec7f4a /compiler-rt/include/xray | |
| parent | a7bbe4481a79772d09553b0e01d3024f1dd96ed8 (diff) | |
| download | bcm5719-llvm-29e16deb177528da8858d9866381cf12e40b406a.tar.gz bcm5719-llvm-29e16deb177528da8858d9866381cf12e40b406a.zip | |
[XRay][compiler-rt] Runtime changes to support custom event logging
Summary:
This change implements support for the custom event logging sleds and
intrinsics at runtime. For now it only supports handling the sleds in
x86_64, with the implementations for other architectures stubbed out to
do nothing.
NOTE: Work in progress, uploaded for exposition/exploration purposes.
Depends on D27503, D30018, and D33032.
Reviewers: echristo, javed.absar, timshen
Subscribers: mehdi_amini, nemanjai, llvm-commits
Differential Revision: https://reviews.llvm.org/D30630
llvm-svn: 302857
Diffstat (limited to 'compiler-rt/include/xray')
| -rw-r--r-- | compiler-rt/include/xray/xray_interface.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler-rt/include/xray/xray_interface.h b/compiler-rt/include/xray/xray_interface.h index c90025e38aa..aea43517d13 100644 --- a/compiler-rt/include/xray/xray_interface.h +++ b/compiler-rt/include/xray/xray_interface.h @@ -25,6 +25,7 @@ enum XRayEntryType { EXIT = 1, TAIL = 2, LOG_ARGS_ENTRY = 3, + CUSTOM_EVENT = 4, }; /// Provide a function to invoke for when instrumentation points are hit. This @@ -64,6 +65,9 @@ extern int __xray_set_handler_arg1(void (*)(int32_t, XRayEntryType, uint64_t)); /// Returns 1 on success, 0 on error. extern int __xray_remove_handler_arg1(); +/// Provide a function to invoke when XRay encounters a custom event. +extern int __xray_set_customevent_handler(void (*entry)(void*, std::size_t)); + enum XRayPatchingStatus { NOT_INITIALIZED = 0, SUCCESS = 1, |

