Fix object verification.
Refactor VERIFY_OBJECT_ENABLED to become less brittle to change enum and global
constant.
Change-Id: Ie405106be81dce9a913730c7f46a5659582fa18b
diff --git a/src/thread.cc b/src/thread.cc
index 394d263..94c437f 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -2004,20 +2004,17 @@
ReleaseLongJumpContext(context);
}
-#if VERIFY_OBJECT_ENABLED
-static void VerifyObject(const Object* obj, void* arg) {
+static void VerifyObject(const mirror::Object* root, void* arg) {
Heap* heap = reinterpret_cast<Heap*>(arg);
- heap->VerifyObject(obj);
+ heap->VerifyObject(root);
}
-void Thread::VerifyStack() {
+void Thread::VerifyStackImpl() {
UniquePtr<Context> context(Context::Create());
RootCallbackVisitor visitorToCallback(VerifyObject, Runtime::Current()->GetHeap());
- ReferenceMapVisitor<RootCallbackVisitor> mapper(GetManagedStack(), GetInstrumentationStack(),
- context.get(), visitorToCallback);
+ ReferenceMapVisitor<RootCallbackVisitor> mapper(this, context.get(), visitorToCallback);
mapper.WalkStack();
}
-#endif
// Set the stack end to that to be used during a stack overflow
void Thread::SetStackEndForStackOverflow() {