Daily bump.
[official-gcc.git] / libsanitizer / sanitizer_common / sanitizer_stackdepot.h
blobbf73cf14aad29e8ceec89d97792d3c3e2d275a0b
1 //===-- sanitizer_stackdepot.h ----------------------------------*- C++ -*-===//
2 //
3 // This file is distributed under the University of Illinois Open Source
4 // License. See LICENSE.TXT for details.
5 //
6 //===----------------------------------------------------------------------===//
7 //
8 // This file is shared between AddressSanitizer and ThreadSanitizer
9 // run-time libraries.
10 //===----------------------------------------------------------------------===//
11 #ifndef SANITIZER_STACKDEPOT_H
12 #define SANITIZER_STACKDEPOT_H
14 #include "sanitizer_internal_defs.h"
16 namespace __sanitizer {
18 // StackDepot efficiently stores huge amounts of stack traces.
20 // Maps stack trace to an unique id.
21 u32 StackDepotPut(const uptr *stack, uptr size);
22 // Retrieves a stored stack trace by the id.
23 const uptr *StackDepotGet(u32 id, uptr *size);
25 struct StackDepotStats {
26 uptr n_uniq_ids;
27 uptr mapped;
30 StackDepotStats *StackDepotGetStats();
32 } // namespace __sanitizer
34 #endif // SANITIZER_STACKDEPOT_H