aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenDriver.c
diff options
context:
space:
mode:
authorbuzbee <buzbee@google.com>2010-09-09 15:03:03 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-09-09 15:03:03 -0700
commit60d005d37d1fcb778246aa259e985a6c03a8456c (patch)
tree3a0ab56a90b6a1633c3ca1f71fe0e491a6bde8a1 /vm/compiler/codegen/arm/CodegenDriver.c
parentc58b9ef90319c4edad93300151c088434092e9e0 (diff)
parent3272e2fe6bb8cc3719e974634b6798e3cdee0593 (diff)
Merge "JIT: Fix inconsistent handling of sub-word instance git/put" into dalvik-dev
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.c')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.c24
1 files changed, 5 insertions, 19 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index d0ef80847..e298f3d46 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -2321,24 +2321,20 @@ static bool handleFmt22c(CompilationUnit *cUnit, MIR *mir)
// NOTE: intentional fallthrough
case OP_IGET:
case OP_IGET_OBJECT:
- genIGet(cUnit, mir, kWord, fieldOffset, isVolatile);
- break;
case OP_IGET_BOOLEAN:
- genIGet(cUnit, mir, kUnsignedByte, fieldOffset, isVolatile);
- break;
case OP_IGET_BYTE:
- genIGet(cUnit, mir, kSignedByte, fieldOffset, isVolatile);
- break;
case OP_IGET_CHAR:
- genIGet(cUnit, mir, kUnsignedHalf, fieldOffset, isVolatile);
- break;
case OP_IGET_SHORT:
- genIGet(cUnit, mir, kSignedHalf, fieldOffset, isVolatile);
+ genIGet(cUnit, mir, kWord, fieldOffset, isVolatile);
break;
case OP_IPUT_WIDE:
genIPutWide(cUnit, mir, fieldOffset);
break;
case OP_IPUT:
+ case OP_IPUT_SHORT:
+ case OP_IPUT_CHAR:
+ case OP_IPUT_BYTE:
+ case OP_IPUT_BOOLEAN:
genIPut(cUnit, mir, kWord, fieldOffset, false, isVolatile);
break;
case OP_IPUT_VOLATILE:
@@ -2348,16 +2344,6 @@ static bool handleFmt22c(CompilationUnit *cUnit, MIR *mir)
case OP_IPUT_OBJECT:
genIPut(cUnit, mir, kWord, fieldOffset, true, isVolatile);
break;
- case OP_IPUT_SHORT:
- case OP_IPUT_CHAR:
- genIPut(cUnit, mir, kUnsignedHalf, fieldOffset, false, isVolatile);
- break;
- case OP_IPUT_BYTE:
- genIPut(cUnit, mir, kSignedByte, fieldOffset, false, isVolatile);
- break;
- case OP_IPUT_BOOLEAN:
- genIPut(cUnit, mir, kUnsignedByte, fieldOffset, false, isVolatile);
- break;
case OP_IGET_WIDE_VOLATILE:
case OP_IPUT_WIDE_VOLATILE:
genInterpSingleStep(cUnit, mir);