diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-02-13 18:02:13 -0800 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-02-18 10:45:12 -0800 |
commit | 815873ecc312b1d231acce71e1a16f42cdaf09f2 (patch) | |
tree | 18ba2fa951775e60b240271bfe975e6e2cfc654c /runtime/hprof | |
parent | 2befd09cf4fe89a18a655f3e1dd310831bfa769f (diff) | |
download | art-815873ecc312b1d231acce71e1a16f42cdaf09f2.zip art-815873ecc312b1d231acce71e1a16f42cdaf09f2.tar.gz art-815873ecc312b1d231acce71e1a16f42cdaf09f2.tar.bz2 |
Change root visitor to use Object**.
Simplifies code and improves the performance of root visiting since
we usually don't need to check to see if the object moved.
Change-Id: Iba998f5a15ae1fa1b53ca5226dd2168a411196cf
Diffstat (limited to 'runtime/hprof')
-rw-r--r-- | runtime/hprof/hprof.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/runtime/hprof/hprof.cc b/runtime/hprof/hprof.cc index ae03dd9..c5a8328 100644 --- a/runtime/hprof/hprof.cc +++ b/runtime/hprof/hprof.cc @@ -496,12 +496,12 @@ class Hprof { } private: - static mirror::Object* RootVisitor(mirror::Object* obj, void* arg, uint32_t thread_id, - RootType root_type) + static void RootVisitor(mirror::Object** obj, void* arg, uint32_t thread_id, RootType root_type) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { - DCHECK(arg != NULL); - reinterpret_cast<Hprof*>(arg)->VisitRoot(obj, thread_id, root_type); - return obj; + DCHECK(arg != nullptr); + DCHECK(obj != nullptr); + DCHECK(*obj != nullptr); + reinterpret_cast<Hprof*>(arg)->VisitRoot(*obj, thread_id, root_type); } static void VisitObjectCallback(mirror::Object* obj, void* arg) |