diff options
author | Dean Michael Berris <dberris@google.com> | 2017-09-18 06:18:03 +0000 |
---|---|---|
committer | Dean Michael Berris <dberris@google.com> | 2017-09-18 06:18:03 +0000 |
commit | 607b047ab74e4a63fe718a16e75161b0c5f0aee7 (patch) | |
tree | f50788d3a193def3878d4acd8fab7fd7571f0370 /compiler-rt/include | |
parent | 40e7b9961089ba66c46a3c30d8c1787aea68289e (diff) |
[XRay][compiler-rt] Handle tail-call exits in the XRay runtime
Summary:
This change starts differentiating tail exits from normal exits. We also
increase the version number of the "naive" log to version 2, which will
be the starting version where these records start appearing. In FDR mode
we treat the tail exits as normal exits, and are thus subject to the
same treatment with regard to record unwriting.
Updating the version number is important to signal older builds of the
llvm-xray tool that do not deal with the tail exit records must fail
early (and that users should only use the llvm-xray tool built after
the support for tail exits to get accurate handling of these records).
Depends on D37964.
Reviewers: kpw, pelikan
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D37965
Diffstat (limited to 'compiler-rt/include')
-rw-r--r-- | compiler-rt/include/xray/xray_records.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler-rt/include/xray/xray_records.h b/compiler-rt/include/xray/xray_records.h index 506755dbd63..98e54cb6903 100644 --- a/compiler-rt/include/xray/xray_records.h +++ b/compiler-rt/include/xray/xray_records.h @@ -78,7 +78,10 @@ struct alignas(32) XRayRecord { // The CPU where the thread is running. We assume number of CPUs <= 256. uint8_t CPU = 0; - // The type of the event. Usually either ENTER = 0 or EXIT = 1. + // The type of the event. One of the following: + // ENTER = 0 + // EXIT = 1 + // TAIL_EXIT = 2 uint8_t Type = 0; // The function ID for the record. |