Remove disable card marks, fix SetPatchLocation.

Should slightly improve performance. Added a no thread suspension allowed in patch oat code and
methods.

Added a new function to class linker, GetOatCodeFor which takes in a method reference instead of
pointer.

This fixes the issue where pruned methods were getting re-loaded during code and method patching.

Change-Id: I676bb88cb021b6d2e0db00adbcf1f2f04f82b72a
diff --git a/src/class_linker.h b/src/class_linker.h
index f1530f3..14c719e 100644
--- a/src/class_linker.h
+++ b/src/class_linker.h
@@ -372,6 +372,9 @@
   const void* GetOatCodeFor(const AbstractMethod* method)
       SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
 
+  // Get the oat code for a method from a method index.
+  const void* GetOatCodeFor(const DexFile& dex_file, uint32_t method_idx);
+
   // Relocate the OatFiles (ELF images)
   void RelocateExecutable() LOCKS_EXCLUDED(dex_lock_);