Stack overflow error and unit test.

Change-Id: Ie7198569207b1b87c50d986df002c551ad5d7d3a
diff --git a/src/runtime_support.S b/src/runtime_support.S
index 0e57592..185cdc2 100644
--- a/src/runtime_support.S
+++ b/src/runtime_support.S
@@ -58,6 +58,15 @@
     mov r3, sp                      @ pass SP
     b   artThrowArrayBoundsFromCode @ artThrowArrayBoundsFromCode(index, limit, Thread*, SP)
 
+    .global art_throw_stack_overflow_from_code
+    .extern artThrowStackOverflowFromCode
+art_throw_stack_overflow_from_code:
+    stmdb  sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, lr}
+    sub sp, #16                       @ 4 words of space, bottom word will hold Method*
+    mov r1, r9                        @ pass Thread::Current
+    mov r2, sp                        @ pass SP
+    b   artThrowStackOverflowFromCode @ artThrowStackOverflowFromCode(method, Thread*, SP)
+
     .global art_invoke_interface_trampoline
     .extern artFindInterfaceMethodInCacheFromCode
     /*