Fix jni compiler bug (Compiler_llvm).
Must test suspend before return.
Change-Id: I1885c24848b40858ed1b8facdaaec459f49dfcf7
diff --git a/src/compiler_llvm/jni_compiler.cc b/src/compiler_llvm/jni_compiler.cc
index b35d792..7855be0 100644
--- a/src/compiler_llvm/jni_compiler.cc
+++ b/src/compiler_llvm/jni_compiler.cc
@@ -259,6 +259,9 @@
Thread::StateOffset().Int32Value(),
irb_.getInt32(kRunnable));
+ // Do a suspend check
+ irb_.CreateCall(irb_.GetRuntime(TestSuspend));
+
if (return_shorty == 'L') {
// If the return value is reference, it may point to SIRT, we should decode it.
retval = irb_.CreateCall2(irb_.GetRuntime(DecodeJObjectInThread),