Do a TryLock when allocating a ProfilingInfo from the interpreter.

This removes some thread contentions just for allocating ProfilingInfo.

bug:23128949

Change-Id: I9ff7d44c4b0ee272425cf4c6248d3065f67958f3
diff --git a/runtime/jit/jit_code_cache.h b/runtime/jit/jit_code_cache.h
index 4574edf..0117776 100644
--- a/runtime/jit/jit_code_cache.h
+++ b/runtime/jit/jit_code_cache.h
@@ -208,7 +208,7 @@
   ProfilingInfo* AddProfilingInfoInternal(Thread* self,
                                           ArtMethod* method,
                                           const std::vector<uint32_t>& entries)
-      REQUIRES(!lock_)
+      REQUIRES(lock_)
       SHARED_REQUIRES(Locks::mutator_lock_);
 
   // If a collection is in progress, wait for it to finish. Return