summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbuzbee <buzbee@google.com>2010-09-09 16:52:00 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-09 16:52:00 -0700
commitc94d546e99f18ba445b2fd3f8e91c93d14cd725d (patch)
treeb43d06fbc4310cee546bbba85a98ec1113d6cace
parentb20c366a4cc1dbaeb7aa14fae18baa9e45a86503 (diff)
parent24628c4c898930ba350b6ac99625c8ff700f35c8 (diff)
downloadandroid_dalvik-c94d546e99f18ba445b2fd3f8e91c93d14cd725d.tar.gz
android_dalvik-c94d546e99f18ba445b2fd3f8e91c93d14cd725d.tar.bz2
android_dalvik-c94d546e99f18ba445b2fd3f8e91c93d14cd725d.zip
am 24628c4c: am 50afc65c: Merge "JIT: Fix inconsistent handling of sub-word instance git/put" into gingerbread
Merge commit '24628c4c898930ba350b6ac99625c8ff700f35c8' * commit '24628c4c898930ba350b6ac99625c8ff700f35c8': JIT: Fix inconsistent handling of sub-word instance git/put
-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 a04371ea1..0b6e433e6 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -2328,24 +2328,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:
@@ -2355,16 +2351,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);