hanchenye-llvm-project/compiler-rt/lib
Dean Michael Berris 895171e6ee [XRay] [compiler-rt] Unwriting FDR mode buffers when functions are short.
Summary:
"short" is defined as an xray flag, and buffer rewinding happens for both exits
 and tail exits.

 I've made the choice to seek backwards finding pairs of FunctionEntry, TailExit
 record pairs and erasing them if the FunctionEntry occurred before exit from the
 currently exiting function. This is a compromise so that we don't skip logging
 tail calls if the function that they call into takes longer our duration.

 This works by counting the consecutive function and function entry, tail exit
 pairs that proceed the current point in the buffer. The buffer is rewound to
 check whether these entry points happened recently enough to be erased.

 It is still possible we will omit them if they call into a child function that
 is not instrumented which calls a fast grandchild that is instrumented before
 doing other processing.

Reviewers: pelikan, dberris

Reviewed By: dberris

Subscribers: llvm-commits

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

llvm-svn: 299629
2017-04-06 07:14:43 +00:00
..
BlocksRuntime
asan [asan] Move AsanCheckDynamicRTPrereqs check under flag 2017-03-31 06:36:37 +00:00
builtins [Builtins] Fix div0 error in udivsi3 2017-04-06 06:13:39 +00:00
cfi [cfi] Fix symbol lookup hack in cross-dso cfi to handle LLD binaries. 2017-04-06 00:34:45 +00:00
dfsan Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
esan [sanitizer] Move fread and fwrite interceptors to sanitizer_common 2017-03-30 07:25:33 +00:00
interception [interception] Check for export table's size before referring to its elements. 2017-01-30 18:23:37 +00:00
lsan Move current thread data out of lsan_common on linux 2017-03-29 21:49:47 +00:00
msan [sanitizer] Move fread and fwrite interceptors to sanitizer_common 2017-03-30 07:25:33 +00:00
profile Resubmit r295469 [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write 2017-03-17 18:41:33 +00:00
safestack [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
sanitizer_common Enable leak detection on linux-i686 by default 2017-03-30 14:05:46 +00:00
scudo [scudo] 32-bit quarantine sizes adjustments and bug fixes 2017-02-03 20:49:42 +00:00
stats Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
tsan [tsan] Add interceptor for xpc_connection_cancel to avoid false positives 2017-03-30 15:48:25 +00:00
ubsan [ubsan] Add nullability handlers to interface file 2017-03-14 16:36:03 +00:00
xray [XRay] [compiler-rt] Unwriting FDR mode buffers when functions are short. 2017-04-06 07:14:43 +00:00
CMakeLists.txt Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00