summaryrefslogtreecommitdiffstats
path: root/clang/lib/Rewrite/Rewriter.cpp
diff options
context:
space:
mode:
authorMitch Phillips <mitchphillips@outlook.com>2019-08-15 21:09:09 +0000
committerMitch Phillips <mitchphillips@outlook.com>2019-08-15 21:09:09 +0000
commitbe8a2f75657b27ea113517c3279f0489a7f4018c (patch)
tree089dba91a13c31efe32c08014ce36d2e019a9399 /clang/lib/Rewrite/Rewriter.cpp
parent1af501c092538bb52c28ba6180b6ee0828cd155d (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud