diff options
author | Dave Allison <dallison@google.com> | 2014-04-09 23:36:15 +0000 |
---|---|---|
committer | Dave Allison <dallison@google.com> | 2014-04-09 23:36:15 +0000 |
commit | d6ed642458c8820e1beca72f3d7b5f0be4a4b64b (patch) | |
tree | 1b6e0438f786d6eeb5566e176d71d454a6cdb9e5 /compiler/dex/quick/arm/assemble_arm.cc | |
parent | f9487c039efb4112616d438593a2ab02792e0304 (diff) | |
download | art-d6ed642458c8820e1beca72f3d7b5f0be4a4b64b.zip art-d6ed642458c8820e1beca72f3d7b5f0be4a4b64b.tar.gz art-d6ed642458c8820e1beca72f3d7b5f0be4a4b64b.tar.bz2 |
Revert "Revert "Revert "Use trampolines for calls to helpers"""
This reverts commit f9487c039efb4112616d438593a2ab02792e0304.
Change-Id: Id48a4aae4ecce73db468587967968a3f7618b700
Diffstat (limited to 'compiler/dex/quick/arm/assemble_arm.cc')
-rw-r--r-- | compiler/dex/quick/arm/assemble_arm.cc | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/compiler/dex/quick/arm/assemble_arm.cc b/compiler/dex/quick/arm/assemble_arm.cc index 0e1275d..f77b0a6 100644 --- a/compiler/dex/quick/arm/assemble_arm.cc +++ b/compiler/dex/quick/arm/assemble_arm.cc @@ -1035,11 +1035,6 @@ const ArmEncodingMap ArmMir2Lir::EncodingMap[kArmLast] = { kFmtBitBlt, 7, 0, IS_QUAD_OP | REG_USE0 | REG_USE1 | REG_USE2 | IS_STORE, "strd", "!0C, !1C, [!2C, #!3E]", 4, kFixupNone), - ENCODING_MAP(kThumb2BlTramp, 0xf000d000, - kFmtBitBlt, 10, 0, kFmtUnused, -1, -1, kFmtUnused, -1, -1, - kFmtUnused, -1, -1, - IS_UNARY_OP | IS_BRANCH | REG_DEF_LR | NEEDS_FIXUP, - "bl", "!0t", 4, kFixupTrampCall), }; // new_lir replaces orig_lir in the pcrel_fixup list. @@ -1229,7 +1224,6 @@ void ArmMir2Lir::AssembleLIR() { while (true) { offset_adjustment = 0; AssemblerStatus res = kSuccess; // Assume success - generation ^= 1; // Note: nodes requring possible fixup linked in ascending order. lir = first_fixup_; @@ -1583,17 +1577,6 @@ void ArmMir2Lir::AssembleLIR() { } break; } - case kFixupTrampCall: { - // This is a call to a trampoline. The value for the trampoline call needs - // both the offset into the code and the trampoline to call. It will be - // added to the list of calls when we actually insert this instruction into - // the code_buffer (when we have a stable instruction stream). - uint32_t instoffset = lir->offset; - // LOG(INFO) << "adding trampoline call: offset: " << instoffset << - // " entrypoint: " << lir->operands[0]; - trampoline_calls_.push_back(TrampolineCall(instoffset, lir->operands[0])); - break; - } default: LOG(FATAL) << "Unexpected case " << lir->flags.fixup; } @@ -1612,7 +1595,6 @@ void ArmMir2Lir::AssembleLIR() { starting_offset += offset_adjustment; data_offset_ = (starting_offset + 0x3) & ~0x3; AssignDataOffsets(); - trampoline_calls_.clear(); // These are invalid now. } } @@ -1693,4 +1675,5 @@ void ArmMir2Lir::AssignDataOffsets() { total_size_ = AssignFillArrayDataOffset(offset); } + } // namespace art |