Explicitly pass Thread::Current to MutexLock and Alloc.

Change-Id: I8b75bc0617915465f102815b32306aa7760dcae4
diff --git a/src/runtime_support.cc b/src/runtime_support.cc
index 4af6fe5..54baa42 100644
--- a/src/runtime_support.cc
+++ b/src/runtime_support.cc
@@ -100,19 +100,19 @@
   if (UNLIKELY(klass == NULL)) {  // Not in dex cache so try to resolve
     klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method);
     if (klass == NULL) {  // Error
-      DCHECK(Thread::Current()->IsExceptionPending());
+      DCHECK(self->IsExceptionPending());
       return NULL;  // Failure
     }
   }
   if (UNLIKELY(klass->IsPrimitive() && !klass->IsPrimitiveInt())) {
     if (klass->IsPrimitiveLong() || klass->IsPrimitiveDouble()) {
-      Thread::Current()->ThrowNewExceptionF("Ljava/lang/RuntimeException;",
-                                            "Bad filled array request for type %s",
-                                            PrettyDescriptor(klass).c_str());
+      self->ThrowNewExceptionF("Ljava/lang/RuntimeException;",
+                               "Bad filled array request for type %s",
+                                PrettyDescriptor(klass).c_str());
     } else {
-      Thread::Current()->ThrowNewExceptionF("Ljava/lang/InternalError;",
-                                            "Found type %s; filled-new-array not implemented for anything but \'int\'",
-                                            PrettyDescriptor(klass).c_str());
+      self->ThrowNewExceptionF("Ljava/lang/InternalError;",
+                               "Found type %s; filled-new-array not implemented for anything but \'int\'",
+                               PrettyDescriptor(klass).c_str());
     }
     return NULL;  // Failure
   } else {
@@ -124,7 +124,7 @@
       }
     }
     DCHECK(klass->IsArrayClass()) << PrettyClass(klass);
-    return Array::Alloc(klass, component_count);
+    return Array::Alloc(self, klass, component_count);
   }
 }