Clean up ZygoteHooks stack walking slightly.

Test: Build and run marlin with libartd.so
Change-Id: I4a67935c5c7270636085c3ee12db0ebc1798a89e
diff --git a/runtime/non_debuggable_classes.cc b/runtime/non_debuggable_classes.cc
index db121a9..829ea65 100644
--- a/runtime/non_debuggable_classes.cc
+++ b/runtime/non_debuggable_classes.cc
@@ -27,16 +27,16 @@
 
 std::vector<jclass>  NonDebuggableClasses::non_debuggable_classes;
 
-void NonDebuggableClasses::AddNonDebuggableClass(ObjPtr<mirror::Class> klass) {
+void NonDebuggableClasses::AddNonDebuggableClass(jclass klass) {
   Thread* self = Thread::Current();
   JNIEnvExt* env = self->GetJniEnv();
+  ObjPtr<mirror::Class> mirror_klass(self->DecodeJObject(klass)->AsClass());
   for (jclass c : non_debuggable_classes) {
-    if (self->DecodeJObject(c)->AsClass() == klass.Ptr()) {
+    if (self->DecodeJObject(c)->AsClass() == mirror_klass.Ptr()) {
       return;
     }
   }
-  ScopedLocalRef<jclass> lr(env, env->AddLocalReference<jclass>(klass));
-  non_debuggable_classes.push_back(reinterpret_cast<jclass>(env->NewGlobalRef(lr.get())));
+  non_debuggable_classes.push_back(reinterpret_cast<jclass>(env->NewGlobalRef(klass)));
 }
 
 }  // namespace art