summaryrefslogtreecommitdiffstats
path: root/runtime/gc_root.h
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2015-04-14 09:35:18 -0700
committerMathieu Chartier <mathieuc@google.com>2015-04-14 11:06:34 -0700
commit9086b65b2ad35dd39a8afc62d535be8217208d08 (patch)
tree3abc6e3297b840289bc240e3a9bc7e61b7a99cbc /runtime/gc_root.h
parent8d20011a9de7cd94bee59db3ae8c0cbbf55911d9 (diff)
downloadart-9086b65b2ad35dd39a8afc62d535be8217208d08.tar.gz
art-9086b65b2ad35dd39a8afc62d535be8217208d08.tar.bz2
art-9086b65b2ad35dd39a8afc62d535be8217208d08.zip
Fix valgrind tests
Delete large objects in space destructor. Also some cleanup. Change-Id: I4c4e90149841a156b7a3236201b37683e14890fb
Diffstat (limited to 'runtime/gc_root.h')
-rw-r--r--runtime/gc_root.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/runtime/gc_root.h b/runtime/gc_root.h
index bdc7d5c8e6..b67e9c29b4 100644
--- a/runtime/gc_root.h
+++ b/runtime/gc_root.h
@@ -162,6 +162,9 @@ class GcRoot {
ALWAYS_INLINE GcRoot(MirrorType* ref = nullptr) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
private:
+ // Root visitors take pointers to root_ and place the min CompressedReference** arrays. We use a
+ // CompressedReference<mirror::Object> here since it violates strict aliasing requirements to
+ // cast CompressedReference<MirrorType>* to CompressedReference<mirror::Object>*.
mutable mirror::CompressedReference<mirror::Object> root_;
template <size_t kBufferSize> friend class BufferedRootVisitor;