From 815873ecc312b1d231acce71e1a16f42cdaf09f2 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Thu, 13 Feb 2014 18:02:13 -0800 Subject: 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 --- runtime/intern_table.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'runtime/intern_table.cc') diff --git a/runtime/intern_table.cc b/runtime/intern_table.cc index cc49d67..660efe4 100644 --- a/runtime/intern_table.cc +++ b/runtime/intern_table.cc @@ -48,9 +48,8 @@ void InternTable::VisitRoots(RootCallback* callback, void* arg, MutexLock mu(Thread::Current(), *Locks::intern_table_lock_); if (!only_dirty || is_dirty_) { for (auto& strong_intern : strong_interns_) { - strong_intern.second = - down_cast(callback(strong_intern.second, arg, 0, - kRootInternedString)); + callback(reinterpret_cast(&strong_intern.second), arg, 0, + kRootInternedString); DCHECK(strong_intern.second != nullptr); } if (clean_dirty) { -- cgit v1.1