class StackStore {
public:
+ constexpr StackStore() = default;
+
using Id = uptr;
Id store(const StackTrace &trace);
uptr *alloc(uptr count = 1);
uptr *tryAlloc(uptr count);
uptr *refillAndAlloc(uptr count);
- mutable StaticSpinMutex mtx; // Protects alloc of new blocks.
- atomic_uintptr_t region_pos; // Region allocator for Node's.
- atomic_uintptr_t region_end;
- atomic_uintptr_t mapped_size;
+ mutable StaticSpinMutex mtx = {}; // Protects alloc of new blocks.
+ atomic_uintptr_t region_pos = {}; // Region allocator for Node's.
+ atomic_uintptr_t region_end = {};
+ atomic_uintptr_t mapped_size = {};
struct BlockInfo {
const BlockInfo *next;
uptr ptr;
uptr size;
};
- const BlockInfo *curr;
+ const BlockInfo *curr = nullptr;
};
} // namespace __sanitizer
-#endif // SANITIZER_STACK_STORE_H
\ No newline at end of file
+#endif // SANITIZER_STACK_STORE_H