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() {