diff options
| author | 2015-10-22 15:25:54 +0100 | |
|---|---|---|
| committer | 2015-11-04 14:54:23 +0000 | |
| commit | 10ef6941648aad04d54527d4a7a6070bf7065e88 (patch) | |
| tree | 50fe6b50a3020ec7d25fbd5e4393db1c04452ce7 /compiler/utils/mips/assembler_mips.h | |
| parent | c74e69f831608964f89ac7a641fbcc09156eefaa (diff) | |
Delay emitting CFI PC adjustments until after Thumb2/Mips fixup.
On Mips also take into account out-of-order CFI data emitted
from EmitBranches().
Change-Id: I03b0b0b4c2b1ea31a02699ef5fa1c55aa42c23c3
Diffstat (limited to 'compiler/utils/mips/assembler_mips.h')
| -rw-r--r-- | compiler/utils/mips/assembler_mips.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/utils/mips/assembler_mips.h b/compiler/utils/mips/assembler_mips.h index aa187b812b..4038c1f1c4 100644 --- a/compiler/utils/mips/assembler_mips.h +++ b/compiler/utils/mips/assembler_mips.h @@ -94,7 +94,9 @@ class MipsAssembler FINAL : public Assembler { last_position_adjustment_(0), last_old_position_(0), last_branch_id_(0), - isa_features_(instruction_set_features) {} + isa_features_(instruction_set_features) { + cfi().DelayEmittingAdvancePCs(); + } virtual ~MipsAssembler() { for (auto& branch : branches_) { @@ -599,6 +601,7 @@ class MipsAssembler FINAL : public Assembler { void PromoteBranches(); void EmitBranch(Branch* branch); void EmitBranches(); + void PatchCFI(size_t number_of_delayed_adjust_pcs); // Emits exception block. void EmitExceptionPoll(MipsExceptionSlowPath* exception); |