From 407f702da4f867c074fc3c8c688b8f8c32279eff Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 18 Feb 2014 14:37:05 -0800 Subject: Refactor object reference visiting logic. Refactored the reference visiting logic to be in mirror::Object instead of MarkSweep. Change-Id: I773249478dc463d83b465e85c2402320488577c0 --- runtime/mirror/object_array.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'runtime/mirror/object_array.h') 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* 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 + void VisitReferences(const Visitor& visitor) NO_THREAD_SAFETY_ANALYSIS; + private: static MemberOffset OffsetOfElement(int32_t i); -- cgit v1.2.3