1 //===-- msan_chained_origin_depot.h --------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // A storage for chained origins. 11 //===----------------------------------------------------------------------===// 12 #ifndef MSAN_CHAINED_ORIGIN_DEPOT_H 13 #define MSAN_CHAINED_ORIGIN_DEPOT_H 14 15 #include "sanitizer_common/sanitizer_common.h" 16 17 namespace __msan { 18 19 StackDepotStats *ChainedOriginDepotGetStats(); 20 bool ChainedOriginDepotPut(u32 here_id, u32 prev_id, u32 *new_id); 21 // Retrieves a stored stack trace by the id. 22 u32 ChainedOriginDepotGet(u32 id, u32 *other); 23 24 void ChainedOriginDepotLockAll(); 25 void ChainedOriginDepotUnlockAll(); 26 27 } // namespace __msan 28 29 #endif // MSAN_CHAINED_ORIGIN_DEPOT_H 30