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
diff --git a/runtime/thread_list.cc b/runtime/thread_list.cc
index 25f692d..f058dee 100644
--- a/runtime/thread_list.cc
+++ b/runtime/thread_list.cc
@@ -771,11 +771,10 @@
void* const arg_;
};
-static mirror::Object* VerifyRootWrapperCallback(mirror::Object* root, void* arg,
- uint32_t /*thread_id*/, RootType /*root_type*/) {
+static void VerifyRootWrapperCallback(mirror::Object** root, void* arg, uint32_t /*thread_id*/,
+ RootType /*root_type*/) {
VerifyRootWrapperArg* wrapperArg = reinterpret_cast<VerifyRootWrapperArg*>(arg);
- wrapperArg->callback_(root, wrapperArg->arg_, 0, NULL);
- return root;
+ wrapperArg->callback_(*root, wrapperArg->arg_, 0, NULL);
}
void ThreadList::VerifyRoots(VerifyRootCallback* callback, void* arg) const {