Go to file
Dean Michael Berris 18024786b9 [XRay] Support generational buffers in FDR controller
Summary:
This is an intermediary step in the full support for generational buffer
management in the FDR runtime. This change makes the FDR controller
aware of the new generation number in the buffers handed out by the
BufferQueue type.

In the process of making this change, we've realised that the cleanest
way of ensuring that the backing store per generation is live while all
the threads that need access to it will need reference counting to tie
the backing store to the lifetime of all threads that have a handle on
buffers associated with the memory.

We also learn that we're missing the edge-case in the function exit
handler's implementation where the first record being written into the
buffer is a function exit, which is caught/fixed by the test for
generational buffer management.

We still haven't wired the controller into the FDR mode runtime, which
will need the reference counting on the backing store implemented to
ensure that we're being conservatively thread-safe with this approach.

Depends on D52974.

Reviewers: mboerger, eizan

Subscribers: llvm-commits

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

llvm-svn: 345445
2018-10-27 03:00:21 +00:00
clang Revert "Pass the nopie flag to the linker when linking with -pg." until 2018-10-27 01:14:22 +00:00
clang-tools-extra [clang-doc] Switch to default to all-TUs executor 2018-10-26 19:11:34 +00:00
compiler-rt [XRay] Support generational buffers in FDR controller 2018-10-27 03:00:21 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc configure: Rework support for gfx9+ devices that were added post LLVM 3.9 2018-09-15 22:02:01 +00:00
libcxx Fix PR39458 _LIBCPP_DEBUG breaks heterogeneous compare. 2018-10-26 22:54:46 +00:00
libcxxabi cxa_demangle: make demangler's parsing functions overridable 2018-10-16 14:29:14 +00:00
libunwind [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON. 2018-10-08 18:35:00 +00:00
lld Rename warnUnorderableSymbol maybeWarnUnorderableSymbol because the function doesn't always emit a warning. 2018-10-26 15:07:12 +00:00
lldb Fix and rename broken test for `settings write`. 2018-10-26 23:01:25 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm test: add missing -triple 2018-10-27 02:27:38 +00:00
openmp remove duplicate omp_control_tool export to fix windows build 2018-10-25 11:04:01 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [TI removal] Generically discuss terminators rather than use the soon to 2018-10-18 07:43:30 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.