summaryrefslogtreecommitdiffstats
path: root/compiler/dex/quick/arm/assemble_arm.cc
diff options
context:
space:
mode:
authorDave Allison <dallison@google.com>2014-04-09 23:36:15 +0000
committerDave Allison <dallison@google.com>2014-04-09 23:36:15 +0000
commitd6ed642458c8820e1beca72f3d7b5f0be4a4b64b (patch)
tree1b6e0438f786d6eeb5566e176d71d454a6cdb9e5 /compiler/dex/quick/arm/assemble_arm.cc
parentf9487c039efb4112616d438593a2ab02792e0304 (diff)
downloadart-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.cc19
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