Add stack overflow check

Change-Id: I67fcb5ad4bda304879ce05561b03aa7cd46e9990
diff --git a/src/compiler/Dataflow.cc b/src/compiler/Dataflow.cc
index 4e3c9c4..cb208a5 100644
--- a/src/compiler/Dataflow.cc
+++ b/src/compiler/Dataflow.cc
@@ -1989,6 +1989,16 @@
         int dfAttributes =
             oatDataFlowAttributes[mir->dalvikInsn.opcode];
 
+        int flags = dexGetFlagsFromOpcode(mir->dalvikInsn.opcode);
+
+        if (flags & kInstrCanThrow) {
+            cUnit->attrs &= ~METHOD_IS_THROW_FREE;
+        }
+
+        if (flags & kInstrInvoke) {
+            cUnit->attrs &= ~METHOD_IS_LEAF;
+        }
+
         int numUses = 0;
 
         if (dfAttributes & DF_FORMAT_35C) {