Exception and suspend count polling on JNI bridge return.
Change-Id: I0e5597fcbdcdb88100b18d63323e7ba8d27f13fe
diff --git a/src/calling_convention_arm.cc b/src/calling_convention_arm.cc
index 233905a..bac943b 100644
--- a/src/calling_convention_arm.cc
+++ b/src/calling_convention_arm.cc
@@ -15,12 +15,15 @@
}
ManagedRegister CallingConvention::ReturnRegister() {
+ const Method *method = GetMethod();
if (GetMethod()->IsReturnAFloat()) {
return ManagedRegister::FromSRegister(S0);
- } else if (GetMethod()->IsReturnAFloat()) {
+ } else if (GetMethod()->IsReturnADouble()) {
return ManagedRegister::FromDRegister(D0);
- } else if (GetMethod()->IsReturnALong()) {
+ } else if (method->IsReturnALong()) {
return ManagedRegister::FromRegisterPair(R0_R1);
+ } else if (method->IsReturnVoid()) {
+ return ManagedRegister::NoRegister();
} else {
return ManagedRegister::FromCoreRegister(R0);
}