summaryrefslogtreecommitdiffstats
path: root/runtime/indirect_reference_table.cc
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/indirect_reference_table.cc
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/indirect_reference_table.cc')
-rw-r--r--runtime/indirect_reference_table.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/indirect_reference_table.cc b/runtime/indirect_reference_table.cc
index 4a02d74..54c7b6e 100644
--- a/runtime/indirect_reference_table.cc
+++ b/runtime/indirect_reference_table.cc
@@ -312,7 +312,7 @@ bool IndirectReferenceTable::Remove(uint32_t cookie, IndirectRef iref) {
void IndirectReferenceTable::VisitRoots(RootCallback* callback, void* arg, uint32_t tid,
RootType root_type) {
for (auto ref : *this) {
- *ref = callback(const_cast<mirror::Object*>(*ref), arg, tid, root_type);
+ callback(ref, arg, tid, root_type);
DCHECK(*ref != nullptr);
}
}