/art/dex2oat/linker/x86/ |
D | relative_patcher_x86.cc | 30 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 45 DCHECK_LE(literal_offset, code->size()); in PatchPcRelativeReference() 46 DCHECK_EQ((*code)[literal_offset + 0u], static_cast<uint8_t>(kPlaceholder32BitOffset >> 0)); in PatchPcRelativeReference() 47 DCHECK_EQ((*code)[literal_offset + 1u], static_cast<uint8_t>(kPlaceholder32BitOffset >> 8)); in PatchPcRelativeReference() 48 DCHECK_EQ((*code)[literal_offset + 2u], static_cast<uint8_t>(kPlaceholder32BitOffset >> 16)); in PatchPcRelativeReference() 49 DCHECK_EQ((*code)[literal_offset + 3u], static_cast<uint8_t>(kPlaceholder32BitOffset >> 24)); in PatchPcRelativeReference() 52 uint32_t anchor_offset = patch_offset - literal_offset + anchor_literal_offset; in PatchPcRelativeReference() 54 (*code)[literal_offset + 0u] = static_cast<uint8_t>(diff >> 0); in PatchPcRelativeReference() 55 (*code)[literal_offset + 1u] = static_cast<uint8_t>(diff >> 8); in PatchPcRelativeReference() 56 (*code)[literal_offset + 2u] = static_cast<uint8_t>(diff >> 16); in PatchPcRelativeReference() [all …]
|
D | relative_patcher_x86_base.cc | 45 uint32_t literal_offset, in PatchCall() argument 48 DCHECK_LE(literal_offset + 4u, code->size()); in PatchCall() 54 reinterpret_cast<unaligned_int32_t*>(&(*code)[literal_offset])[0] = displacement; in PatchCall()
|
D | relative_patcher_x86_base.h | 33 uint32_t literal_offset,
|
/art/compiler/linker/ |
D | linker_patch.h | 59 static LinkerPatch IntrinsicReferencePatch(size_t literal_offset, in IntrinsicReferencePatch() argument 62 LinkerPatch patch(literal_offset, Type::kIntrinsicReference, /* target_dex_file= */ nullptr); in IntrinsicReferencePatch() 68 static LinkerPatch DataBimgRelRoPatch(size_t literal_offset, in DataBimgRelRoPatch() argument 71 LinkerPatch patch(literal_offset, Type::kDataBimgRelRo, /* target_dex_file= */ nullptr); in DataBimgRelRoPatch() 77 static LinkerPatch RelativeMethodPatch(size_t literal_offset, in RelativeMethodPatch() argument 81 LinkerPatch patch(literal_offset, Type::kMethodRelative, target_dex_file); in RelativeMethodPatch() 87 static LinkerPatch MethodBssEntryPatch(size_t literal_offset, in MethodBssEntryPatch() argument 91 LinkerPatch patch(literal_offset, Type::kMethodBssEntry, target_dex_file); in MethodBssEntryPatch() 97 static LinkerPatch RelativeCodePatch(size_t literal_offset, in RelativeCodePatch() argument 100 LinkerPatch patch(literal_offset, Type::kCallRelative, target_dex_file); in RelativeCodePatch() [all …]
|
/art/dex2oat/linker/arm/ |
D | relative_patcher_thumb2.cc | 58 uint32_t literal_offset, in PatchCall() argument 64 PatchBl(code, literal_offset, displacement); in PatchCall() 71 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 73 uint32_t pc_base = patch_offset + (pc_literal_offset - literal_offset) + 4u /* PC adjustment */; in PatchPcRelativeReference() 76 uint32_t insn = GetInsn32(code, literal_offset); in PatchPcRelativeReference() 84 SetInsn32(code, literal_offset, insn); in PatchPcRelativeReference() 102 uint32_t literal_offset = patch.LiteralOffset(); in PatchBakerReadBarrierBranch() local 103 DCHECK_ALIGNED(literal_offset, 2u); in PatchBakerReadBarrierBranch() 104 DCHECK_LT(literal_offset, code->size()); in PatchBakerReadBarrierBranch() 105 uint32_t insn = GetInsn32(code, literal_offset); in PatchBakerReadBarrierBranch() [all …]
|
D | relative_patcher_thumb2.h | 38 uint32_t literal_offset, 57 static void PatchBl(std::vector<uint8_t>* code, uint32_t literal_offset, uint32_t displacement);
|
/art/dex2oat/linker/arm64/ |
D | relative_patcher_arm64.cc | 192 uint32_t literal_offset, in PatchCall() argument 195 DCHECK_ALIGNED(literal_offset, 4u); in PatchCall() 199 PatchBl(code, literal_offset, displacement); in PatchCall() 208 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 209 uint32_t insn = GetInsn(code, literal_offset); in PatchPcRelativeReference() 211 uint32_t disp = target_offset - ((patch_offset - literal_offset + pc_insn_offset) & ~0xfffu); in PatchPcRelativeReference() 214 if (literal_offset == pc_insn_offset) { in PatchPcRelativeReference() 217 << literal_offset << ", " << pc_insn_offset << ", 0x" << std::hex << insn; in PatchPcRelativeReference() 221 literal_offset, patch_offset)); in PatchPcRelativeReference() 248 SetInsn(code, literal_offset, insn); in PatchPcRelativeReference() [all …]
|
D | relative_patcher_arm64.h | 43 uint32_t literal_offset, 63 static void PatchBl(std::vector<uint8_t>* code, uint32_t literal_offset, uint32_t displacement); 65 static bool NeedsErratum843419Thunk(ArrayRef<const uint8_t> code, uint32_t literal_offset,
|
/art/dex2oat/linker/ |
D | multi_oat_relative_patcher.h | 99 uint32_t literal_offset, in PatchCall() argument 104 relative_patcher_->PatchCall(code, literal_offset, patch_offset, target_offset); in PatchCall()
|
D | relative_patcher.h | 130 uint32_t literal_offset,
|
D | relative_patcher.cc | 61 uint32_t literal_offset ATTRIBUTE_UNUSED, in Create()
|
D | multi_oat_relative_patcher_test.cc | 80 uint32_t literal_offset, in PatchCall() argument 83 last_literal_offset_ = literal_offset; in PatchCall()
|
D | oat_writer.cc | 1768 uint32_t literal_offset = patch.LiteralOffset(); in VisitMethod() local 1774 offset_ + literal_offset, in VisitMethod() 1784 offset_ + literal_offset, in VisitMethod() 1793 offset_ + literal_offset, in VisitMethod() 1801 literal_offset, in VisitMethod() 1802 offset_ + literal_offset, in VisitMethod() 1810 offset_ + literal_offset, in VisitMethod() 1820 offset_ + literal_offset, in VisitMethod() 1828 offset_ + literal_offset, in VisitMethod() 1837 offset_ + literal_offset, in VisitMethod() [all …]
|
/art/compiler/optimizing/ |
D | code_generator_arm_vixl.cc | 1951 uint32_t literal_offset = info.label.GetLocation(); in Finalize() local 1952 DCHECK_ALIGNED(literal_offset, 2u); in Finalize() 1970 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 1971 uint32_t next_insn = GetInsn32(literal_offset + 4u); in Finalize() 1977 DCHECK_GE(code.size() - literal_offset, 6u); in Finalize() 1978 uint32_t next_insn = GetInsn16(literal_offset + 4u); in Finalize() 1987 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 1988 uint32_t next_insn = GetInsn32(literal_offset + 4u); in Finalize() 1999 DCHECK_GE(literal_offset, 4u); in Finalize() 2000 uint32_t prev_insn = GetInsn32(literal_offset - 4u); in Finalize() [all …]
|
D | code_generator_arm64.cc | 1003 uint32_t literal_offset = info.label.GetLocation(); in Finalize() local 1004 DCHECK_ALIGNED(literal_offset, 4u); in Finalize() 1021 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 1022 uint32_t next_insn = GetInsn(literal_offset + 4u); in Finalize() 1036 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 1037 uint32_t next_insn = GetInsn(literal_offset + 4u); in Finalize() 1047 DCHECK_GE(literal_offset, 4u); in Finalize() 1048 uint32_t prev_insn = GetInsn(literal_offset - 4u); in Finalize() 4837 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 4842 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter() [all …]
|
D | code_generator_x86_64.cc | 1227 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; in EmitPcRelativeLinkerPatches() local 1229 Factory(literal_offset, info.target_dex_file, info.label.Position(), info.offset_or_index)); in EmitPcRelativeLinkerPatches() 1234 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 1239 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter()
|
D | code_generator_x86.cc | 5286 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; in EmitPcRelativeLinkerPatches() local 5287 linker_patches->push_back(Factory(literal_offset, in EmitPcRelativeLinkerPatches() 5295 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 5300 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter()
|