summaryrefslogtreecommitdiff
path: root/base/trace_event/heap_profiler_allocation_register_posix.cc
diff options
context:
space:
mode:
Diffstat (limited to 'base/trace_event/heap_profiler_allocation_register_posix.cc')
-rw-r--r--base/trace_event/heap_profiler_allocation_register_posix.cc58
1 files changed, 0 insertions, 58 deletions
diff --git a/base/trace_event/heap_profiler_allocation_register_posix.cc b/base/trace_event/heap_profiler_allocation_register_posix.cc
deleted file mode 100644
index 94eeb4df88..0000000000
--- a/base/trace_event/heap_profiler_allocation_register_posix.cc
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/trace_event/heap_profiler_allocation_register.h"
-
-#include <stddef.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#include "base/bits.h"
-#include "base/logging.h"
-#include "base/process/process_metrics.h"
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-namespace base {
-namespace trace_event {
-namespace internal {
-
-namespace {
-size_t GetGuardSize() {
- return GetPageSize();
-}
-}
-
-void* AllocateGuardedVirtualMemory(size_t size) {
- size = bits::Align(size, GetPageSize());
-
- // Add space for a guard page at the end.
- size_t map_size = size + GetGuardSize();
-
- void* addr = mmap(nullptr, map_size, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-
- PCHECK(addr != MAP_FAILED);
-
- // Mark the last page of the allocated address space as inaccessible
- // (PROT_NONE). The read/write accessible space is still at least |min_size|
- // bytes.
- void* guard_addr =
- reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(addr) + size);
- int result = mprotect(guard_addr, GetGuardSize(), PROT_NONE);
- PCHECK(result == 0);
-
- return addr;
-}
-
-void FreeGuardedVirtualMemory(void* address, size_t allocated_size) {
- size_t size = bits::Align(allocated_size, GetPageSize()) + GetGuardSize();
- munmap(address, size);
-}
-
-} // namespace internal
-} // namespace trace_event
-} // namespace base