diff options
author | David Srbecky <dsrbecky@google.com> | 2016-01-08 18:13:53 +0000 |
---|---|---|
committer | David Srbecky <dsrbecky@google.com> | 2016-01-11 12:22:17 +0000 |
commit | b7070a2db8b0b7eca14f01f932be305be64ded57 (patch) | |
tree | 06ba87d56a708712fb206e23d3abd55f21934373 /compiler/optimizing/code_generator.cc | |
parent | ae6f23c83e1c8dcfbc4f74186ea1a37f1044414b (diff) |
Generate Nops to ensure that debug stack maps have distinct PC.
Change-Id: I5740ec958a20d236634b66df0e675382ed5c16fc
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r-- | compiler/optimizing/code_generator.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 53d3615a41..57c5058cfb 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -997,6 +997,12 @@ void CodeGenerator::RecordPcInfo(HInstruction* instruction, stack_map_stream_.EndStackMapEntry(); } +bool CodeGenerator::HasStackMapAtCurrentPc() { + uint32_t pc = GetAssembler()->CodeSize(); + size_t count = stack_map_stream_.GetNumberOfStackMaps(); + return count > 0 && stack_map_stream_.GetStackMap(count - 1).native_pc_offset == pc; +} + void CodeGenerator::RecordCatchBlockInfo() { ArenaAllocator* arena = graph_->GetArena(); |