summaryrefslogtreecommitdiffstats
path: root/compiler/dex
diff options
context:
space:
mode:
authorbuzbee <buzbee@google.com>2013-09-18 20:56:10 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-09-18 20:56:10 +0000
commitba3fc30c8e5ca233fd9a4d71397461cf15d75c7c (patch)
treedc67e74e1c7fdc011934a59394e5dfa85e93336b /compiler/dex
parentd7d7f6e6916d4cdba89a28670440ec3a59d1a862 (diff)
parent1fc5800def46a2fa6cbd235fcb8af099ee35a127 (diff)
downloadandroid_art-ba3fc30c8e5ca233fd9a4d71397461cf15d75c7c.tar.gz
android_art-ba3fc30c8e5ca233fd9a4d71397461cf15d75c7c.tar.bz2
android_art-ba3fc30c8e5ca233fd9a4d71397461cf15d75c7c.zip
Merge "Art compiler: minor instruction assembler fix" into dalvik-dev
Diffstat (limited to 'compiler/dex')
-rw-r--r--compiler/dex/quick/arm/assemble_arm.cc6
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;