Add slow path for OP_NEW_INSTANCE

If the type is unresolved at verification time, we can't be sure
it's a valid new.  The compiler will now check for type resolution
at compile time.  If unresolved, we'll call out to the slow path,
where the access check will take place.

This CL only contains the compiler portion of this change.  For
now, the slow path code just calls out to the normal routine.

Change-Id: Ia568a164389baedaa695a44f6845a0fdfe585b56
diff --git a/src/runtime_support_asm.S b/src/runtime_support_asm.S
index b3eae57..b6d8928 100644
--- a/src/runtime_support_asm.S
+++ b/src/runtime_support_asm.S
@@ -441,6 +441,21 @@
     bxne   lr                         @ return on success
     DELIVER_PENDING_EXCEPTION
 
+    .global art_alloc_object_from_code_slow_path
+    .extern artAllocObjectFromCodeSlowPath
+    /*
+     * Called by managed code to allocate an object
+     */
+art_alloc_object_from_code_slow_path:
+    SETUP_REF_ONLY_CALLEE_SAVE_FRAME  @ save callee saves in case of GC
+    mov    r2, r9                     @ pass Thread::Current
+    mov    r3, sp                     @ pass SP
+    bl     artAllocObjectFromCodeSlowPath     @ (uint32_t type_idx, Method* method, Thread*, SP)
+    RESTORE_REF_ONLY_CALLEE_SAVE_FRAME
+    cmp    r0, #0                     @ success if result is non-null
+    bxne   lr                         @ return on success
+    DELIVER_PENDING_EXCEPTION
+
     .global art_alloc_array_from_code
     .extern artAllocArrayFromCode
     /*