1 //===-- msan_chained_origin_depot.h --------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // A storage for chained origins.
10 //===----------------------------------------------------------------------===//
11 #ifndef MSAN_CHAINED_ORIGIN_DEPOT_H
12 #define MSAN_CHAINED_ORIGIN_DEPOT_H
14 #include "sanitizer_common/sanitizer_common.h"
18 StackDepotStats *ChainedOriginDepotGetStats();
19 bool ChainedOriginDepotPut(u32 here_id, u32 prev_id, u32 *new_id);
20 // Retrieves a stored stack trace by the id.
21 u32 ChainedOriginDepotGet(u32 id, u32 *other);
23 void ChainedOriginDepotLockAll();
24 void ChainedOriginDepotUnlockAll();
28 #endif // MSAN_CHAINED_ORIGIN_DEPOT_H