Save R9 when up-call.

Thanks to Ian who found this bug. This change can also fix a jni_internal_test
on device when we use -O2 instead of -O0.

Change-Id: I38ac829409aeacb120f5b3d239aedcd39ec32e63
diff --git a/src/compiler_llvm/runtime_support_builder.cc b/src/compiler_llvm/runtime_support_builder.cc
index 9095c02..00a8efa 100644
--- a/src/compiler_llvm/runtime_support_builder.cc
+++ b/src/compiler_llvm/runtime_support_builder.cc
@@ -94,9 +94,9 @@
   irb_.StoreToObjectOffset(thread, offset, value, s_ty);
 }
 
-void RuntimeSupportBuilder::EmitSetCurrentThread(llvm::Value* thread) {
+llvm::Value* RuntimeSupportBuilder::EmitSetCurrentThread(llvm::Value* thread) {
   Function* func = GetRuntimeSupportFunction(runtime_support::SetCurrentThread);
-  irb_.CreateCall(func, thread);
+  return irb_.CreateCall(func, thread);
 }