summaryrefslogtreecommitdiffstats
path: root/runtime/hprof
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-02-13 18:02:13 -0800
committerMathieu Chartier <mathieuc@google.com>2014-02-18 10:45:12 -0800
commit815873ecc312b1d231acce71e1a16f42cdaf09f2 (patch)
tree18ba2fa951775e60b240271bfe975e6e2cfc654c /runtime/hprof
parent2befd09cf4fe89a18a655f3e1dd310831bfa769f (diff)
downloadart-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.cc10
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)