Reland "Make TracePcGuardController linker-initialized"

It was always intended to be.

Patch By: mcgrathr

Differential Revision: https://reviews.llvm.org/D41513

llvm-svn: 322991
This commit is contained in:
Petr Hosek 2018-01-19 21:14:53 +00:00
parent 729a864dfa
commit 76657a9c44
1 changed files with 6 additions and 6 deletions

View File

@ -49,7 +49,7 @@ constexpr const char kSancovSinkName[] = "sancov";
// Collects trace-pc guard coverage.
// This class relies on zero-initialization.
class TracePcGuardController {
class TracePcGuardController final {
public:
// For each PC location being tracked, there is a u32 reserved in global
// data called the "guard". At startup, we assign each guard slot a
@ -113,11 +113,11 @@ class TracePcGuardController {
// We can always spare the 32G of address space.
static constexpr size_t MappingSize = sizeof(uptr) << 32;
BlockingMutex setup_lock_;
uptr *array_;
u32 next_index_;
zx_handle_t vmo_;
char vmo_name_[ZX_MAX_NAME_LEN];
BlockingMutex setup_lock_ = {LINKER_INITIALIZED};
uptr *array_ = nullptr;
u32 next_index_ = 0;
zx_handle_t vmo _ = {};
char vmo_name_[ZX_MAX_NAME_LEN] = {};
size_t DataSize() const { return next_index_ * sizeof(uintptr_t); }