Prevent OP_INVOKE_DIRECT_EMPTY from terminating a trace
diff --git a/vm/compiler/codegen/arm/Codegen.c b/vm/compiler/codegen/arm/Codegen.c
index 16779d9..e034238 100644
--- a/vm/compiler/codegen/arm/Codegen.c
+++ b/vm/compiler/codegen/arm/Codegen.c
@@ -2714,9 +2714,12 @@
 static bool handleFmt35c_3rc(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb,
                              ArmLIR *labelList)
 {
-    ArmLIR *retChainingCell = &labelList[bb->fallThrough->id];
+    ArmLIR *retChainingCell;
     ArmLIR *pcrLabel = NULL;
 
+    if (bb->fallThrough != NULL)
+        retChainingCell = &labelList[bb->fallThrough->id];
+
     DecodedInstruction *dInsn = &mir->dalvikInsn;
     switch (mir->dalvikInsn.opCode) {
         /*