diff options
| author | buzbee <buzbee@google.com> | 2010-09-09 15:03:03 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-09-09 15:03:03 -0700 |
| commit | 60d005d37d1fcb778246aa259e985a6c03a8456c (patch) | |
| tree | 3a0ab56a90b6a1633c3ca1f71fe0e491a6bde8a1 /vm/compiler/codegen/arm/CodegenDriver.c | |
| parent | c58b9ef90319c4edad93300151c088434092e9e0 (diff) | |
| parent | 3272e2fe6bb8cc3719e974634b6798e3cdee0593 (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.c | 24 |
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); |
