Support for exceptions from array allocation.

Adds support for exceptions during array allocation and checked array
allocation (used by filled-new-array). Adds more unit tests.

Change-Id: I3438b257a1cf19538d8b72529097a74347ac3b99
diff --git a/src/thread.h b/src/thread.h
index 53eff33..945d337 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -202,8 +202,8 @@
   int (*pIdiv)(int, int);
   long long (*pLmul)(long long, long long);
   long long (*pLdivmod)(long long, long long);
-  Array* (*pAllocFromCode)(uint32_t, Method*, int32_t);
-  Array* (*pCheckAndAllocFromCode)(uint32_t, Method*, int32_t);
+  void* (*pArrayAllocFromCode)(uint32_t, void*, int32_t);
+  void* (*pCheckAndArrayAllocFromCode)(uint32_t, void*, int32_t);
   Object* (*pAllocObjectFromCode)(uint32_t, Method*);
   uint32_t (*pGet32Static)(uint32_t, const Method*);
   void (*pSet32Static)(uint32_t, const Method*, uint32_t);