Fix array-put-object

Change CanPutArrayElementFromCode to take an object and a class, rather
than two classes.  This allows the generated code to skip the null check
on the element (I believe this was the plan all along, but I must have
forgotten and the current codegen was dereferencing the element to find it's
class without checking for NULL).

Change-Id: I11865e0e625ab0e800718398fd911733718e6ce9
diff --git a/src/object.h b/src/object.h
index 59909e1..02c98d8 100644
--- a/src/object.h
+++ b/src/object.h
@@ -1427,7 +1427,7 @@
   static bool CanPutArrayElement(const Class* object_class, const Class* array_class);
   // Like CanPutArrayElement, but throws an exception and
   // unwinds the stack instead of returning false.
-  static void CanPutArrayElementFromCode(const Class* object_class, const Class* array_class);
+  static void CanPutArrayElementFromCode(const Object* element, const Class* array_class);
 
   // Given the context of a calling Method, use its DexCache to
   // resolve a type to a Class. If it cannot be resolved, throw an