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/Rewriter.cpp | |
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/Rewriter.cpp')
0 files changed, 0 insertions, 0 deletions