diff options
| author | 2013-09-18 20:56:10 +0000 | |
|---|---|---|
| committer | 2013-09-18 20:56:10 +0000 | |
| commit | ba3fc30c8e5ca233fd9a4d71397461cf15d75c7c (patch) | |
| tree | dc67e74e1c7fdc011934a59394e5dfa85e93336b /compiler | |
| parent | d7d7f6e6916d4cdba89a28670440ec3a59d1a862 (diff) | |
| parent | 1fc5800def46a2fa6cbd235fcb8af099ee35a127 (diff) | |
Merge "Art compiler: minor instruction assembler fix" into dalvik-dev
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/dex/quick/arm/assemble_arm.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/dex/quick/arm/assemble_arm.cc b/compiler/dex/quick/arm/assemble_arm.cc index 8ba56dfa0e..2d69d935ca 100644 --- a/compiler/dex/quick/arm/assemble_arm.cc +++ b/compiler/dex/quick/arm/assemble_arm.cc @@ -1122,6 +1122,12 @@ AssemblerStatus ArmMir2Lir::AssembleInstructions(uintptr_t start_addr) { lir->operands[1] = 0; lir->target = 0; SetupResourceMasks(lir); + /* + * Because we just added this new instruction after the current one, + * advance lir so that this new instruction won't be checked for displacement + * overflow until the next pass (when its base offset will be properly established). + */ + lir = new_inst; res = kRetryAll; } else { lir->operands[1] = delta >> 1; |