Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT

Currently, we don't know if another method has a direct code
pointer or not. This should fix the case where breakpoints
occasionally don't work with JIT.

The JIT now also checks that a method doesn't have any breakpoints
before starting to compile it.

Bug: 17950037

Change-Id: I17cfe874fe4825beba23903a5053d5cb27e106cb
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 67872d7..b0708a6 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -5286,6 +5286,10 @@
 }
 
 bool ClassLinker::MayBeCalledWithDirectCodePointer(mirror::ArtMethod* m) {
+  if (Runtime::Current()->UseJit()) {
+    // JIT can have direct code pointers from any method to any other method.
+    return true;
+  }
   // Non-image methods don't use direct code pointer.
   if (!m->GetDeclaringClass()->IsBootStrapClassLoaded()) {
     return false;