Use reader writer mutex for safe checkcast map.

Use a ReaderWriterMutex to protect MethodVerifier::safecast_map_ like
what's done for MethodVerifier::dex_gc_maps_ and MethodVerifier::devirt_maps_.

Change-Id: Id2ac9c290cc524eb992ea7cabe63766e88753747
diff --git a/runtime/verifier/method_verifier.h b/runtime/verifier/method_verifier.h
index c7b8a74..e01f2c0 100644
--- a/runtime/verifier/method_verifier.h
+++ b/runtime/verifier/method_verifier.h
@@ -648,7 +648,7 @@
       SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
   static void SetSafeCastMap(MethodReference ref, const MethodSafeCastSet* mscs);
       LOCKS_EXCLUDED(safecast_map_lock_);
-  static Mutex* safecast_map_lock_ DEFAULT_MUTEX_ACQUIRED_AFTER;
+  static ReaderWriterMutex* safecast_map_lock_ DEFAULT_MUTEX_ACQUIRED_AFTER;
   static SafeCastMap* safecast_map_ GUARDED_BY(safecast_map_lock_);
 
   // Devirtualization map.