Clean up some includes.
Remove some unnecessary includes from header files, replace
others with forward references and add includes to source
files as needed. Reduce dependency on stack.h by pulling
StackReference<> out to its own file.
Test: m test-art-host
Change-Id: I0fb182145e328870cbd918b0ef6ae2950223c1b2
diff --git a/runtime/stack.h b/runtime/stack.h
index 5dee147..e9ed497 100644
--- a/runtime/stack.h
+++ b/runtime/stack.h
@@ -25,9 +25,9 @@
#include "base/mutex.h"
#include "dex_file.h"
#include "gc_root.h"
-#include "mirror/object_reference.h"
#include "quick/quick_method_frame_info.h"
#include "read_barrier.h"
+#include "stack_reference.h"
#include "verify_object.h"
namespace art {
@@ -45,6 +45,7 @@
class ShadowFrame;
class StackVisitor;
class Thread;
+union JValue;
// The kind of vreg being accessed in calls to Set/GetVReg.
enum VRegKind {
@@ -61,11 +62,6 @@
};
std::ostream& operator<<(std::ostream& os, const VRegKind& rhs);
-// A reference from the shadow stack to a MirrorType object within the Java heap.
-template<class MirrorType>
-class MANAGED StackReference : public mirror::CompressedReference<MirrorType> {
-};
-
// Forward declaration. Just calls the destructor.
struct ShadowFrameDeleter;
using ShadowFrameAllocaUniquePtr = std::unique_ptr<ShadowFrame, ShadowFrameDeleter>;