llvm/compiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp

//===-- sanitizer_stack_store.cpp -------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "sanitizer_stack_store.h"

#include "sanitizer_atomic.h"
#include "sanitizer_common.h"
#include "sanitizer_internal_defs.h"
#include "sanitizer_leb128.h"
#include "sanitizer_lzw.h"
#include "sanitizer_placement_new.h"
#include "sanitizer_stacktrace.h"

namespace __sanitizer {

namespace {
struct StackTraceHeader {};
}  // namespace

StackStore::Id StackStore::Store(const StackTrace &trace, uptr *pack) {}

StackTrace StackStore::Load(Id id) {}

uptr StackStore::Allocated() const {}

uptr *StackStore::Alloc(uptr count, uptr *idx, uptr *pack) {}

void *StackStore::Map(uptr size, const char *mem_type) {}

void StackStore::Unmap(void *addr, uptr size) {}

uptr StackStore::Pack(Compression type) {}

void StackStore::LockAll() {}

void StackStore::UnlockAll() {}

void StackStore::TestOnlyUnmap() {}

uptr *StackStore::BlockInfo::Get() const {}

uptr *StackStore::BlockInfo::Create(StackStore *store) {}

uptr *StackStore::BlockInfo::GetOrCreate(StackStore *store) {}

class SLeb128Encoder {};

class SLeb128Decoder {};

static u8 *CompressDelta(const uptr *from, const uptr *from_end, u8 *to,
                         u8 *to_end) {}

static uptr *UncompressDelta(const u8 *from, const u8 *from_end, uptr *to,
                             uptr *to_end) {}

static u8 *CompressLzw(const uptr *from, const uptr *from_end, u8 *to,
                       u8 *to_end) {}

static uptr *UncompressLzw(const u8 *from, const u8 *from_end, uptr *to,
                           uptr *to_end) {}

#if defined(_MSC_VER) && !defined(__clang__)
#  pragma warning(push)
// Disable 'nonstandard extension used: zero-sized array in struct/union'.
#  pragma warning(disable : 4200)
#endif
namespace {
struct PackedHeader {};
}  // namespace
#if defined(_MSC_VER) && !defined(__clang__)
#  pragma warning(pop)
#endif

uptr *StackStore::BlockInfo::GetOrUnpack(StackStore *store) {}

uptr StackStore::BlockInfo::Pack(Compression type, StackStore *store) {}

void StackStore::BlockInfo::TestOnlyUnmap(StackStore *store) {}

bool StackStore::BlockInfo::Stored(uptr n) {}

bool StackStore::BlockInfo::IsPacked() const {}

}  // namespace __sanitizer