Change method verifiers to be thread local roots
Bug: 10921004
Change-Id: I3a1425d76cd380587ba67ef6d5ec1227564e55bf
diff --git a/runtime/verifier/method_verifier.cc b/runtime/verifier/method_verifier.cc
index b3f686d..9ceb6f4 100644
--- a/runtime/verifier/method_verifier.cc
+++ b/runtime/verifier/method_verifier.cc
@@ -395,12 +395,12 @@
has_virtual_or_interface_invokes_(false),
verify_to_dump_(verify_to_dump),
allow_thread_suspension_(allow_thread_suspension) {
- Runtime::Current()->AddMethodVerifier(this);
+ self->SetVerifier(this);
DCHECK(class_def != nullptr);
}
MethodVerifier::~MethodVerifier() {
- Runtime::Current()->RemoveMethodVerifier(this);
+ Thread::Current()->ClearVerifier(this);
STLDeleteElements(&failure_messages_);
}
@@ -4334,8 +4334,8 @@
RegTypeCache::VisitStaticRoots(callback, arg);
}
-void MethodVerifier::VisitRoots(RootCallback* callback, void* arg) {
- reg_types_.VisitRoots(callback, arg);
+void MethodVerifier::VisitRoots(RootCallback* callback, void* arg, const RootInfo& root_info) {
+ reg_types_.VisitRoots(callback, arg, root_info);
}
} // namespace verifier