llvm-project/compiler-rt/lib/xray
Dean Michael Berris d56b90fb4c [XRay][compiler-rt] Use a single global volatile recursion guard for FDR handlers
Summary:
Before this change, the recursion guard for the flight data recorder
(FDR) mode handlers were independent. This change makes it so that when
a handler is already in the process of running and somehow the same or
another handler starts running -- say in a signal handler, while the
XRay handler is executing -- then we can use the same thread-local
recursion guard to stop the second handler from running.

Reviewers: kpw, eizan

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D37612

llvm-svn: 312992
2017-09-12 01:37:59 +00:00
..
tests [XRay][compiler-rt] Enable the XRay compiler-rt unit tests. 2017-08-31 00:50:12 +00:00
CMakeLists.txt [XRay][compiler-rt] Allow for building the XRay runtime without PREINIT initialization. 2017-08-03 00:58:45 +00:00
xray_AArch64.cc [XRay][compiler-rt] Fix misspeling of XRaySledEntry 2017-05-12 01:33:55 +00:00
xray_always_instrument.txt [XRay][compiler-rt][NFC] Add example always/never instrument files. 2017-06-28 04:44:36 +00:00
xray_arm.cc [XRay][compiler-rt] Fix misspeling of XRaySledEntry 2017-05-12 01:33:55 +00:00
xray_buffer_queue.cc [XRay][compiler-rt] Use sanitizer_common's atomic ops 2017-03-27 07:13:35 +00:00
xray_buffer_queue.h [XRay][compiler-rt] Enable the XRay compiler-rt unit tests. 2017-08-31 00:50:12 +00:00
xray_defs.h [XRay][compiler-rt] Disable XRay instrumentation of the XRay runtime. 2016-11-16 01:01:13 +00:00
xray_fdr_log_records.h [XRay][compiler-rt] Runtime changes to support custom event logging 2017-05-12 01:07:41 +00:00
xray_fdr_logging.cc [XRay][compiler-rt] Use a single global volatile recursion guard for FDR handlers 2017-09-12 01:37:59 +00:00
xray_fdr_logging.h [XRay][compiler-rt] Add an end-to-end test for FDR Logging 2017-03-29 05:19:24 +00:00
xray_fdr_logging_impl.h [XRay][compiler-rt] Use a single global volatile recursion guard for FDR handlers 2017-09-12 01:37:59 +00:00
xray_flags.cc [XRay][compiler-rt] Allow for defining defaults at compile-time 2017-02-18 02:09:51 +00:00
xray_flags.h [XRay][compiler-rt][NFC] Turn ProudCase functions to humbleCase functions 2017-02-07 23:35:34 +00:00
xray_flags.inc [XRay] [compiler-rt] Unwriting FDR mode buffers when functions are short. 2017-04-06 07:14:43 +00:00
xray_init.cc [XRay][compiler-rt] Allow for building the XRay runtime without PREINIT initialization. 2017-08-03 00:58:45 +00:00
xray_inmemory_log.cc [XRay][compiler-rt] Remove use of std::mutex and std::shared_ptr from global scope. 2017-08-02 04:51:40 +00:00
xray_interface.cc [XRay][compiler-rt] Return the pointer associated with the function instead of the sled 2017-08-28 03:58:23 +00:00
xray_interface_internal.h [XRay][compiler-rt] Support sled versioning for custom event sleds 2017-08-23 04:42:37 +00:00
xray_log_interface.cc [XRay][compiler-rt] Document and update the XRay Logging API 2017-05-01 00:52:57 +00:00
xray_mips.cc [XRay][compiler-rt] Runtime changes to support custom event logging 2017-05-12 01:07:41 +00:00
xray_mips64.cc [XRay][compiler-rt] Runtime changes to support custom event logging 2017-05-12 01:07:41 +00:00
xray_never_instrument.txt [XRay][compiler-rt][NFC] Add example always/never instrument files. 2017-06-28 04:44:36 +00:00
xray_powerpc64.cc [XRay][compiler-rt] Runtime changes to support custom event logging 2017-05-12 01:07:41 +00:00
xray_powerpc64.inc Re-commit r295017, since we have a potential fix of the tests, r295248, landed. 2017-02-15 22:40:29 +00:00
xray_trampoline_AArch64.S Add NO_EXEC_STACK_DIRECTIVE to xray assembly files. 2017-03-15 21:18:47 +00:00
xray_trampoline_arm.S Add NO_EXEC_STACK_DIRECTIVE to xray assembly files. 2017-03-15 21:18:47 +00:00
xray_trampoline_mips.S [Compiler-rt][XRAY][MIPS] Support xray on mips/mipsel/mips64/mips64el 2017-02-15 10:54:09 +00:00
xray_trampoline_mips64.S [Compiler-rt][XRAY][MIPS] Support xray on mips/mipsel/mips64/mips64el 2017-02-15 10:54:09 +00:00
xray_trampoline_powerpc64.cc Re-commit r295017, since we have a potential fix of the tests, r295248, landed. 2017-02-15 22:40:29 +00:00
xray_trampoline_powerpc64_asm.S [XRay] Fix XRay PPC return value bug. 2017-05-10 16:28:21 +00:00
xray_trampoline_x86_64.S [XRay][compiler-rt] Support sled versioning for custom event sleds 2017-08-23 04:42:37 +00:00
xray_tsc.h [XRay][compiler-rt] Support TSC emulation even for x86_64 2017-03-15 02:28:00 +00:00
xray_utils.cc [XRay][compiler-rt] Add an end-to-end test for FDR Logging 2017-03-29 05:19:24 +00:00
xray_utils.h [XRay] Refactor TSC related functions into a single header. NFC. 2017-02-10 20:30:43 +00:00
xray_x86_64.cc [XRay][compiler-rt] Support sled versioning for custom event sleds 2017-08-23 04:42:37 +00:00
xray_x86_64.inc [XRay] Refactor TSC related functions into a single header. NFC. 2017-02-10 20:30:43 +00:00