Simplify compiler's suspend check mechanism.
Move to a single mechanism for suspend checks. Previously backwards
branches only checked the suspend count when an internal counter
reached zero, while returns always checked. Now all checks use
the counter.
Change-Id: Ibca2881e102babbd134bb9b41d798e9e4a3b522c
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index fb665e6..6331254 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -1169,17 +1169,17 @@
break;
case OP_RETURN_VOID:
- genSuspendPoll(cUnit, mir);
+ genSuspendTest(cUnit, mir);
break;
case OP_RETURN:
case OP_RETURN_OBJECT:
- genSuspendPoll(cUnit, mir);
+ genSuspendTest(cUnit, mir);
storeValue(cUnit, getRetLoc(cUnit), rlSrc[0]);
break;
case OP_RETURN_WIDE:
- genSuspendPoll(cUnit, mir);
+ genSuspendTest(cUnit, mir);
storeValueWide(cUnit, getRetLocWide(cUnit), rlSrc[0]);
break;