ClassLinker changes

- Add ClassLinker::LockOwner for SignalCatcher
- ClassLinker::ResolveMethod now sets CodeAndDirectMethod when code is available

Change-Id: I404b80d1994808e018d00e0b30e8ba4f9d08fecc
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 82f42c4..86f2769 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -2614,6 +2614,9 @@
   }
   if (resolved != NULL) {
     dex_cache->SetResolvedMethod(method_idx, resolved);
+    if (is_direct && resolved->GetCode() != NULL) {
+      dex_cache->GetCodeAndDirectMethods()->SetResolvedDirectMethod(method_idx, resolved);
+    }
   } else {
     ThrowNoSuchMethodError(is_direct ? "direct" : "virtual", klass, name, signature);
   }
@@ -2686,4 +2689,8 @@
   return classes_.size();
 }
 
+pid_t ClassLinker::GetLockOwner() {
+  return lock_.GetOwner();
+}
+
 }  // namespace art