[PATCH] [asan] rewrite asan's stack frame layout

Kostya Serebryany kcc at google.com
Wed Dec 4 00:53:40 PST 2013


Hi samsonov, dvyukov,

Rewrite asan's stack frame layout.
First, most of the stack layout logic is moved into a separte file
to make it more testable and (potentially) useful for other projects.
Second, make the frames more compact by using adaptive redzones
(smaller for small objects, larger for large objects).
Third, try to minimized gaps due to large alignments (this is hypothetical since
today we don't see many stack vars aligned by more than 32).

The frames indeed become more compact, but I'll still need to run more benchmarks
before committing, but I am sking for review now to get early feedback.

This change will be accompanied by a trivial change in compiler-rt tests
to match the new frame sizes.

http://llvm-reviews.chandlerc.com/D2324

Files:
  lib/Transforms/Instrumentation/AddressSanitizer.cpp
  lib/Transforms/Instrumentation/ASanStackFrameLayout.cpp
  lib/Transforms/Instrumentation/ASanStackFrameLayout.h
  lib/Transforms/Instrumentation/CMakeLists.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2324.1.patch
Type: text/x-patch
Size: 24751 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131204/07925e29/attachment.bin>


More information about the llvm-commits mailing list