diff options
| author | Ben Cheng <bccheng@android.com> | 2011-03-31 10:44:44 -0700 |
|---|---|---|
| committer | Ben Cheng <bccheng@android.com> | 2011-03-31 10:44:44 -0700 |
| commit | 072b5d06d406004893a998a2dd06e8ec35ebea33 (patch) | |
| tree | 09dc115f9d1da483cf8b77f350fe56cc70564898 /vm/compiler/codegen/arm/CodegenDriver.c | |
| parent | 6920d2c5b83f8ff0cdc8f33770cd658969dbd262 (diff) | |
Add missing jumbo opcodes to the self verification exclusion list
Change-Id: If38ce20b2ac30488118259e3b3bdfbc9f068e5c3
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.c')
| -rw-r--r-- | vm/compiler/codegen/arm/CodegenDriver.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c index 1272f9bad..fb18cff22 100644 --- a/vm/compiler/codegen/arm/CodegenDriver.c +++ b/vm/compiler/codegen/arm/CodegenDriver.c @@ -4143,18 +4143,29 @@ static void setupLoopEntryBlock(CompilationUnit *cUnit, BasicBlock *entry, static bool selfVerificationPuntOps(MIR *mir) { DecodedInstruction *decInsn = &mir->dalvikInsn; - Opcode op = decInsn->opcode; /* * All opcodes that can throw exceptions and use the * TEMPLATE_THROW_EXCEPTION_COMMON template should be excluded in the trace * under self-verification mode. */ - return (op == OP_MONITOR_ENTER || op == OP_MONITOR_EXIT || - op == OP_NEW_INSTANCE || op == OP_NEW_ARRAY || - op == OP_CHECK_CAST || op == OP_MOVE_EXCEPTION || - op == OP_FILL_ARRAY_DATA || op == OP_EXECUTE_INLINE || - op == OP_EXECUTE_INLINE_RANGE); + switch (decInsn->opcode) { + case OP_MONITOR_ENTER: + case OP_MONITOR_EXIT: + case OP_NEW_INSTANCE: + case OP_NEW_INSTANCE_JUMBO: + case OP_NEW_ARRAY: + case OP_NEW_ARRAY_JUMBO: + case OP_CHECK_CAST: + case OP_CHECK_CAST_JUMBO: + case OP_MOVE_EXCEPTION: + case OP_FILL_ARRAY_DATA: + case OP_EXECUTE_INLINE: + case OP_EXECUTE_INLINE_RANGE: + return true; + default: + return false; + } } #endif |
