/art/dex2oat/linker/mips/ |
D | relative_patcher_mips.cc | 42 uint32_t literal_offset ATTRIBUTE_UNUSED, in PatchCall() 53 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 54 bool high_patch = ((*code)[literal_offset + 0] == 0x34) && ((*code)[literal_offset + 1] == 0x12); in PatchPcRelativeReference() 60 DCHECK_EQ(((*code)[literal_offset + 2] & 0x1F), 0x1E); in PatchPcRelativeReference() 61 DCHECK_EQ(((*code)[literal_offset + 3] & 0xFC), 0xEC); in PatchPcRelativeReference() 64 DCHECK_EQ(((*code)[literal_offset + 2] & 0xE0), 0x00); in PatchPcRelativeReference() 65 DCHECK_EQ((*code)[literal_offset + 3], 0x3C); in PatchPcRelativeReference() 69 CHECK_EQ((*code)[literal_offset + 0], 0x78); in PatchPcRelativeReference() 70 CHECK_EQ((*code)[literal_offset + 1], 0x56); in PatchPcRelativeReference() 74 uint32_t anchor_offset = patch_offset - literal_offset + anchor_literal_offset; in PatchPcRelativeReference() [all …]
|
D | relative_patcher_mips.h | 37 uint32_t literal_offset,
|
/art/dex2oat/linker/mips64/ |
D | relative_patcher_mips64.cc | 42 uint32_t literal_offset ATTRIBUTE_UNUSED, in PatchCall() 53 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 54 bool high_patch = ((*code)[literal_offset + 0] == 0x34) && ((*code)[literal_offset + 1] == 0x12); in PatchPcRelativeReference() 59 DCHECK_EQ(((*code)[literal_offset + 2] & 0x1F), 0x1E); in PatchPcRelativeReference() 60 DCHECK_EQ(((*code)[literal_offset + 3] & 0xFC), 0xEC); in PatchPcRelativeReference() 63 CHECK_EQ((*code)[literal_offset + 0], 0x78); in PatchPcRelativeReference() 64 CHECK_EQ((*code)[literal_offset + 1], 0x56); in PatchPcRelativeReference() 68 uint32_t anchor_offset = patch_offset - literal_offset + anchor_literal_offset; in PatchPcRelativeReference() 78 (*code)[literal_offset + 0] = static_cast<uint8_t>(diff >> 16); in PatchPcRelativeReference() 79 (*code)[literal_offset + 1] = static_cast<uint8_t>(diff >> 24); in PatchPcRelativeReference() [all …]
|
D | relative_patcher_mips64.h | 35 uint32_t literal_offset,
|
/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>(kDummy32BitOffset >> 0)); in PatchPcRelativeReference() 47 DCHECK_EQ((*code)[literal_offset + 1u], static_cast<uint8_t>(kDummy32BitOffset >> 8)); in PatchPcRelativeReference() 48 DCHECK_EQ((*code)[literal_offset + 2u], static_cast<uint8_t>(kDummy32BitOffset >> 16)); in PatchPcRelativeReference() 49 DCHECK_EQ((*code)[literal_offset + 3u], static_cast<uint8_t>(kDummy32BitOffset >> 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 | 58 static LinkerPatch IntrinsicReferencePatch(size_t literal_offset, in IntrinsicReferencePatch() argument 61 LinkerPatch patch(literal_offset, Type::kIntrinsicReference, /* target_dex_file= */ nullptr); in IntrinsicReferencePatch() 67 static LinkerPatch DataBimgRelRoPatch(size_t literal_offset, in DataBimgRelRoPatch() argument 70 LinkerPatch patch(literal_offset, Type::kDataBimgRelRo, /* target_dex_file= */ nullptr); in DataBimgRelRoPatch() 76 static LinkerPatch RelativeMethodPatch(size_t literal_offset, in RelativeMethodPatch() argument 80 LinkerPatch patch(literal_offset, Type::kMethodRelative, target_dex_file); in RelativeMethodPatch() 86 static LinkerPatch MethodBssEntryPatch(size_t literal_offset, in MethodBssEntryPatch() argument 90 LinkerPatch patch(literal_offset, Type::kMethodBssEntry, target_dex_file); in MethodBssEntryPatch() 96 static LinkerPatch RelativeCodePatch(size_t literal_offset, in RelativeCodePatch() argument 99 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 61 DCHECK_LE(literal_offset + 4u, code->size()); in PatchCall() 62 DCHECK_EQ(literal_offset & 1u, 0u); in PatchCall() 80 DCHECK_EQ(GetInsn32(code, literal_offset) & 0xf800d000, 0xf000d000); in PatchCall() 82 SetInsn32(code, literal_offset, value); in PatchCall() 89 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 91 uint32_t pc_base = patch_offset + (pc_literal_offset - literal_offset) + 4u /* PC adjustment */; in PatchPcRelativeReference() 94 uint32_t insn = GetInsn32(code, literal_offset); in PatchPcRelativeReference() 102 SetInsn32(code, literal_offset, insn); in PatchPcRelativeReference() 109 uint32_t literal_offset = patch.LiteralOffset(); in PatchBakerReadBarrierBranch() local [all …]
|
D | relative_patcher_thumb2.h | 38 uint32_t literal_offset,
|
/art/dex2oat/linker/arm64/ |
D | relative_patcher_arm64.cc | 191 uint32_t literal_offset, in PatchCall() argument 194 DCHECK_LE(literal_offset + 4u, code->size()); in PatchCall() 195 DCHECK_EQ(literal_offset & 3u, 0u); in PatchCall() 205 DCHECK_EQ(GetInsn(code, literal_offset) & 0xfc000000u, 0x94000000u); in PatchCall() 207 SetInsn(code, literal_offset, insn); in PatchCall() 216 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 217 uint32_t insn = GetInsn(code, literal_offset); in PatchPcRelativeReference() 219 uint32_t disp = target_offset - ((patch_offset - literal_offset + pc_insn_offset) & ~0xfffu); in PatchPcRelativeReference() 222 if (literal_offset == pc_insn_offset) { in PatchPcRelativeReference() 225 << literal_offset << ", " << pc_insn_offset << ", 0x" << std::hex << insn; in PatchPcRelativeReference() [all …]
|
D | relative_patcher_arm64.h | 43 uint32_t literal_offset, 61 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 | 67 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 | 1734 uint32_t literal_offset = patch.LiteralOffset(); in VisitMethod() local 1740 offset_ + literal_offset, in VisitMethod() 1750 offset_ + literal_offset, in VisitMethod() 1759 offset_ + literal_offset, in VisitMethod() 1767 literal_offset, in VisitMethod() 1768 offset_ + literal_offset, in VisitMethod() 1776 offset_ + literal_offset, in VisitMethod() 1786 offset_ + literal_offset, in VisitMethod() 1794 offset_ + literal_offset, in VisitMethod() 1803 offset_ + literal_offset, in VisitMethod() [all …]
|
/art/compiler/optimizing/ |
D | code_generator_arm64.cc | 942 uint32_t literal_offset = info.label.GetLocation(); in Finalize() local 943 DCHECK_ALIGNED(literal_offset, 4u); in Finalize() 960 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 961 uint32_t next_insn = GetInsn(literal_offset + 4u); in Finalize() 975 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 976 uint32_t next_insn = GetInsn(literal_offset + 4u); in Finalize() 986 DCHECK_GE(literal_offset, 4u); in Finalize() 987 uint32_t prev_insn = GetInsn(literal_offset - 4u); in Finalize() 4411 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 4416 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter() [all …]
|
D | code_generator_arm_vixl.cc | 1948 uint32_t literal_offset = info.label.GetLocation(); in Finalize() local 1949 DCHECK_ALIGNED(literal_offset, 2u); in Finalize() 1967 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 1968 uint32_t next_insn = GetInsn32(literal_offset + 4u); in Finalize() 1974 DCHECK_GE(code.size() - literal_offset, 6u); in Finalize() 1975 uint32_t next_insn = GetInsn16(literal_offset + 4u); in Finalize() 1984 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 1985 uint32_t next_insn = GetInsn32(literal_offset + 4u); in Finalize() 1996 DCHECK_GE(literal_offset, 4u); in Finalize() 1997 uint32_t prev_insn = GetInsn32(literal_offset - 4u); in Finalize() [all …]
|
D | code_generator_mips64.cc | 1528 uint32_t literal_offset = __ GetLabelLocation(&info.label); in EmitPcRelativeLinkerPatches() local 1531 linker_patches->push_back(Factory(literal_offset, dex_file, pc_rel_offset, offset_or_index)); in EmitPcRelativeLinkerPatches() 1536 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 1541 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter() 1743 uint32_t literal_offset = GetAssembler().GetLabelLocation(literal->GetLabel()); in PatchJitRootUse() local 1746 reinterpret_cast<uint32_t*>(code + literal_offset)[0] = dchecked_integral_cast<uint32_t>(address); in PatchJitRootUse()
|
D | code_generator_x86_64.cc | 1169 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; in EmitPcRelativeLinkerPatches() local 1171 Factory(literal_offset, info.target_dex_file, info.label.Position(), info.offset_or_index)); in EmitPcRelativeLinkerPatches() 1176 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 1181 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter()
|
D | code_generator_x86.cc | 5066 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; in EmitPcRelativeLinkerPatches() local 5067 linker_patches->push_back(Factory(literal_offset, in EmitPcRelativeLinkerPatches() 5075 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 5080 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter()
|
D | code_generator_mips.cc | 1597 uint32_t literal_offset = __ GetLabelLocation(&info.label); in EmitPcRelativeLinkerPatches() local 1604 linker_patches->push_back(Factory(literal_offset, dex_file, pc_rel_offset, offset_or_index)); in EmitPcRelativeLinkerPatches() 1609 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 1614 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter()
|