Kostya Serebryany
|
b7062cec53
|
[asan] asan_allocator2: fix the memalign handling (clear the first word of allocated chunk in case there is an old memalign magic)
llvm-svn: 172603
|
2013-01-16 09:12:14 +00:00 |
Dmitry Vyukov
|
f5fa4c8a77
|
asan: weaken memory ordering, it's expensive in current implementation
llvm-svn: 172210
|
2013-01-11 16:02:31 +00:00 |
Kostya Serebryany
|
9a7e8ddb21
|
[asan] fid asan_allocator2 build
llvm-svn: 172194
|
2013-01-11 11:27:42 +00:00 |
Dmitry Vyukov
|
008dba6aa0
|
asan: always pass allocator cache to Allocate()
llvm-svn: 172193
|
2013-01-11 11:15:48 +00:00 |
Dmitry Vyukov
|
b1c0dbe2c6
|
asan: faster quarantine
llvm-svn: 172192
|
2013-01-11 11:03:35 +00:00 |
Dmitry Vyukov
|
db0cf871d4
|
asan: Refactor asan memory quarantine.
llvm-svn: 172183
|
2013-01-11 08:07:43 +00:00 |
Kostya Serebryany
|
8cc7b627b4
|
[asan] asan_allocator2: do less work under the quarantine lock; make the strcasecmp test more resistant to the contents of unaddressable memory
llvm-svn: 172048
|
2013-01-10 09:25:16 +00:00 |
Kostya Serebryany
|
4a42cf69a6
|
[sanitizer] add statistics to the allocator; fix lint
llvm-svn: 171161
|
2012-12-27 14:09:19 +00:00 |
Kostya Serebryany
|
6f604b5007
|
[asan/tsan] when unmapping a chunk of user memory, apply madvise(MADV_DONTNEED) to the corresponding chunk of shadow memory. Also update sanitizer_allocator64_testlib.cc
llvm-svn: 171144
|
2012-12-27 07:37:24 +00:00 |
Kostya Serebryany
|
390cf94f88
|
[asan] asan_allocator2: do not align the requested size to the redzone size (saves a bit more memory)
llvm-svn: 171111
|
2012-12-26 12:20:35 +00:00 |
Kostya Serebryany
|
35cc75876a
|
[asan] asan_allocator2: implement adaptive redzones. Now with asan_allocator2 allocations <= 48 bytes have 16 byte redzone, allocations of 48-96 bytes -- have 32 bytes redzone, etc (max redzone is 2048). If ASAN_OPTIONS=redzone=n is set, it changes the minimal redzone size
llvm-svn: 171107
|
2012-12-26 10:41:24 +00:00 |
Kostya Serebryany
|
a11cd57a78
|
[asan] asan_allocator2: by default use the StackDepot to store the stack traces instead of storing them in the redzones
llvm-svn: 171099
|
2012-12-26 06:30:02 +00:00 |
Kostya Serebryany
|
27ad15e165
|
[asan] asan_allocator2: store the user requested size in just 32 bits (larger sizes use metadata). This allows to put one more 32-bit field into the chunk header
llvm-svn: 171089
|
2012-12-26 04:52:07 +00:00 |
Kostya Serebryany
|
eff9b4b9b1
|
[asan] add a test for right OOB with special large sizes. Fix this test in asan_allocator2. More test tweaking for allocator2
llvm-svn: 171058
|
2012-12-25 09:40:20 +00:00 |
Kostya Serebryany
|
fe80f080ee
|
[asan] asan_allocator2 fix two asserts that happen on full chrome: a) memalign called with 0 size and large alignment and b) malloc called after TSD has been destructed
llvm-svn: 170900
|
2012-12-21 14:54:46 +00:00 |
Kostya Serebryany
|
3cc719fdf9
|
[asan] asan_allocator2: better memory stats
llvm-svn: 170888
|
2012-12-21 12:26:31 +00:00 |
Kostya Serebryany
|
3674c6b13b
|
[asan] add a flag alloc_dealloc_mismatch (off by default for now) which finds malloc/delete, new/free, new/delete[], etc mismatches
llvm-svn: 170869
|
2012-12-21 08:53:59 +00:00 |
Kostya Serebryany
|
c0d8ca5537
|
[asan] asan_allocator2: implement memalign
llvm-svn: 170697
|
2012-12-20 14:35:06 +00:00 |
Kostya Serebryany
|
9da3dd0415
|
[asan] add a flag poison_heap to allow better allocator benchmarking, implemenet malloc_stats() on Linux
llvm-svn: 170685
|
2012-12-20 11:54:21 +00:00 |
Kostya Serebryany
|
ab8d33184d
|
[asan] asan_allocator2: make all remaining tests pass.
llvm-svn: 170680
|
2012-12-20 08:53:41 +00:00 |
Kostya Serebryany
|
dcdeecb257
|
[asan] asan_allocator2: add mmap/munmap stats
llvm-svn: 170548
|
2012-12-19 14:56:38 +00:00 |
Kostya Serebryany
|
479f05b276
|
[asan] asan_allocator2: improve FindHeapChunkByAddress to find memory chunks to the left of a given address. Almost all tests pass with the new allocator now, only 6 are left to fix.
llvm-svn: 170511
|
2012-12-19 08:32:50 +00:00 |
Kostya Serebryany
|
d6aec5a8e0
|
[asan] asan_allocator2: implement malloc_usable_size and fix 32-bit
llvm-svn: 170339
|
2012-12-17 14:57:25 +00:00 |
Kostya Serebryany
|
ec339f70d6
|
[asan] asan_allocator2: don't use TLS and fix calloc
llvm-svn: 170329
|
2012-12-17 13:43:47 +00:00 |
Kostya Serebryany
|
1aae0e67fa
|
[asan] asan_alocator2: implement quarantine and Reallocate
llvm-svn: 170315
|
2012-12-17 09:06:25 +00:00 |
Kostya Serebryany
|
c510015419
|
[asan] asan_alocator2: implement free() stacks and actually make malloc/free stacks work
llvm-svn: 170310
|
2012-12-17 06:31:53 +00:00 |
Kostya Serebryany
|
025d64a1b9
|
[asan] more asan_allocator2 code: record the allocation stack trace, implement calloc/etc
llvm-svn: 170193
|
2012-12-14 13:16:19 +00:00 |
Kostya Serebryany
|
7dfb168eb8
|
[asan] more asan_allocator2 code: actually un/poison shadow on malloc/free
llvm-svn: 170190
|
2012-12-14 12:15:09 +00:00 |
Kostya Serebryany
|
e29883c10a
|
[sanitizer] add OnMap/OnUmap callbacks to the allocator interface
llvm-svn: 169985
|
2012-12-12 14:32:18 +00:00 |
Kostya Serebryany
|
90a59fafc0
|
[asan] more code for asan_allocator2: basic Allocate/Deallocate code
llvm-svn: 169864
|
2012-12-11 14:41:31 +00:00 |
Kostya Serebryany
|
5e2a7acdbe
|
[asan] more sceleton code for asan_allocator2
llvm-svn: 169836
|
2012-12-11 09:02:36 +00:00 |
Kostya Serebryany
|
14282a91d5
|
[asan] introduce asan_allocator2.cc, which will have the replacement for asan allocator (now, just a bit of boilerplate)
llvm-svn: 169733
|
2012-12-10 13:52:55 +00:00 |