summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator_arm.cc
diff options
context:
space:
mode:
authorDavid Srbecky <dsrbecky@google.com>2016-01-08 18:13:53 +0000
committerDavid Srbecky <dsrbecky@google.com>2016-01-11 12:22:17 +0000
commitb7070a2db8b0b7eca14f01f932be305be64ded57 (patch)
tree06ba87d56a708712fb206e23d3abd55f21934373 /compiler/optimizing/code_generator_arm.cc
parentae6f23c83e1c8dcfbc4f74186ea1a37f1044414b (diff)
Generate Nops to ensure that debug stack maps have distinct PC.
Change-Id: I5740ec958a20d236634b66df0e675382ed5c16fc
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r--compiler/optimizing/code_generator_arm.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc
index b32a81a2e4..7b167e48f4 100644
--- a/compiler/optimizing/code_generator_arm.cc
+++ b/compiler/optimizing/code_generator_arm.cc
@@ -1679,6 +1679,10 @@ void LocationsBuilderARM::VisitNativeDebugInfo(HNativeDebugInfo* info) {
}
void InstructionCodeGeneratorARM::VisitNativeDebugInfo(HNativeDebugInfo* info) {
+ if (codegen_->HasStackMapAtCurrentPc()) {
+ // Ensure that we do not collide with the stack map of the previous instruction.
+ __ nop();
+ }
codegen_->RecordPcInfo(info, info->GetDexPc());
}