ART: Clean up includes.
Reduce dependencies to improve incremental build times.
Break up circular dependency involving class_linker-inl.h.
Change-Id: I4be742c5c2b5cd9855beea86630fd68aab76b0db
diff --git a/runtime/base/arena_allocator.cc b/runtime/base/arena_allocator.cc
index 59d38ad..b53fa84 100644
--- a/runtime/base/arena_allocator.cc
+++ b/runtime/base/arena_allocator.cc
@@ -20,6 +20,7 @@
#include "arena_allocator.h"
#include "logging.h"
+#include "mem_map.h"
#include "mutex.h"
#include "thread-inl.h"
#include <memcheck/memcheck.h>
@@ -141,6 +142,10 @@
size_ = map_->Size();
}
+MemMapArena::~MemMapArena() {
+ // Destroys MemMap via std::unique_ptr<>.
+}
+
void MemMapArena::Release() {
if (bytes_allocated_ > 0) {
map_->MadviseDontNeedAndZero();
diff --git a/runtime/base/arena_allocator.h b/runtime/base/arena_allocator.h
index 3a86b61..ab5968c 100644
--- a/runtime/base/arena_allocator.h
+++ b/runtime/base/arena_allocator.h
@@ -22,7 +22,6 @@
#include "debug_stack.h"
#include "macros.h"
-#include "mem_map.h"
#include "mutex.h"
#include "utils.h"
@@ -33,6 +32,7 @@
class ArenaAllocator;
class ArenaStack;
class ScopedArenaAllocator;
+class MemMap;
class MemStats;
template <typename T>
@@ -166,7 +166,7 @@
class MemMapArena FINAL : public Arena {
public:
explicit MemMapArena(size_t size, bool low_4gb);
- virtual ~MemMapArena() { }
+ virtual ~MemMapArena();
void Release() OVERRIDE;
private: