diff options
| author | Mitch Phillips <mitchphillips@outlook.com> | 2019-08-15 21:09:09 +0000 |
|---|---|---|
| committer | Mitch Phillips <mitchphillips@outlook.com> | 2019-08-15 21:09:09 +0000 |
| commit | be8a2f75657b27ea113517c3279f0489a7f4018c (patch) | |
| tree | 089dba91a13c31efe32c08014ce36d2e019a9399 /clang/lib/Rewrite | |
| parent | 1af501c092538bb52c28ba6180b6ee0828cd155d (diff) | |
| download | bcm5719-llvm-be8a2f75657b27ea113517c3279f0489a7f4018c.tar.gz bcm5719-llvm-be8a2f75657b27ea113517c3279f0489a7f4018c.zip | |
[GWP-ASan] Implement stack frame compression.
Summary:
This patch introduces stack frame compression to GWP-ASan. Each stack frame is
variable-length integer encoded as the difference between frame[i] and
frame[i - 1]. Furthermore, we use zig-zag encoding on the difference to ensure
that negative differences are also encoded into a relatively small number of
bytes.
Examples of what the compression looks like can be seen in
`gwp_asan/tests/compression.cpp`.
This compression can reduce the memory consumption cost of stack traces by
~50%.
Reviewers: vlad.tsyrklevich
Reviewed By: vlad.tsyrklevich
Subscribers: mgorny, #sanitizers, llvm-commits, eugenis, morehouse
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D66189
llvm-svn: 369048
Diffstat (limited to 'clang/lib/Rewrite')
0 files changed, 0 insertions, 0 deletions

