aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenFactory.c
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2010-09-24 14:14:21 -0700
committerBrian Carlstrom <bdc@google.com>2010-09-24 14:14:21 -0700
commitc4ad778d54e5db8c53528c2aefe7c9f86ae6ea08 (patch)
treebc66c44dd093c882d99f7cbd4c22e278d5fe049c /vm/compiler/codegen/arm/CodegenFactory.c
parent9b55721ff026fe0d8aa2b9d2c71255151b15ca52 (diff)
parent810a051d4a6ff5da5c6aad6751bd1a091db12d48 (diff)
Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenFactory.c')
-rw-r--r--vm/compiler/codegen/arm/CodegenFactory.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/CodegenFactory.c b/vm/compiler/codegen/arm/CodegenFactory.c
index 157bd1f4b..1de9f90e9 100644
--- a/vm/compiler/codegen/arm/CodegenFactory.c
+++ b/vm/compiler/codegen/arm/CodegenFactory.c
@@ -257,6 +257,20 @@ static void storeValueWide(CompilationUnit *cUnit, RegLocation rlDest,
}
}
}
+
+/*
+ * Perform a "reg cmp imm" operation and jump to the PCR region if condition
+ * satisfies.
+ */
+static ArmLIR *genRegImmCheck(CompilationUnit *cUnit,
+ ArmConditionCode cond, int reg,
+ int checkValue, int dOffset,
+ ArmLIR *pcrLabel)
+{
+ ArmLIR *branch = genCmpImmBranch(cUnit, cond, reg, checkValue);
+ return genCheckCommon(cUnit, dOffset, branch, pcrLabel);
+}
+
/*
* Perform null-check on a register. sReg is the ssa register being checked,
* and mReg is the machine register holding the actual value. If internal state