diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-02-18 14:37:05 -0800 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-03-24 16:35:21 -0700 |
commit | 407f702da4f867c074fc3c8c688b8f8c32279eff (patch) | |
tree | 6a856b64f655f5aab1c538eab28e9c69f9010122 /runtime/mirror/object_array.h | |
parent | d201dec03334bcc25add81704981a78c19927d87 (diff) | |
download | android_art-407f702da4f867c074fc3c8c688b8f8c32279eff.tar.gz android_art-407f702da4f867c074fc3c8c688b8f8c32279eff.tar.bz2 android_art-407f702da4f867c074fc3c8c688b8f8c32279eff.zip |
Refactor object reference visiting logic.
Refactored the reference visiting logic to be in mirror::Object
instead of MarkSweep.
Change-Id: I773249478dc463d83b465e85c2402320488577c0
Diffstat (limited to 'runtime/mirror/object_array.h')
-rw-r--r-- | runtime/mirror/object_array.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/mirror/object_array.h b/runtime/mirror/object_array.h index 7f9e716e6e..5ff049081f 100644 --- a/runtime/mirror/object_array.h +++ b/runtime/mirror/object_array.h @@ -78,6 +78,11 @@ class MANAGED ObjectArray : public Array { ObjectArray<T>* CopyOf(Thread* self, int32_t new_length) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + // TODO fix thread safety analysis broken by the use of template. This should be + // SHARED_LOCKS_REQUIRED(Locks::mutator_lock_). + template<const bool kVisitClass, typename Visitor> + void VisitReferences(const Visitor& visitor) NO_THREAD_SAFETY_ANALYSIS; + private: static MemberOffset OffsetOfElement(int32_t i); |