/aosp12/art/compiler/linker/ |
H A D | linker_patch.h | 71 static LinkerPatch DataBimgRelRoPatch(size_t literal_offset, in DataBimgRelRoPatch() argument 80 static LinkerPatch RelativeMethodPatch(size_t literal_offset, in RelativeMethodPatch() argument 90 static LinkerPatch MethodBssEntryPatch(size_t literal_offset, in MethodBssEntryPatch() argument 110 static LinkerPatch RelativeCodePatch(size_t literal_offset, in RelativeCodePatch() argument 118 static LinkerPatch RelativeTypePatch(size_t literal_offset, in RelativeTypePatch() argument 128 static LinkerPatch TypeBssEntryPatch(size_t literal_offset, in TypeBssEntryPatch() argument 158 static LinkerPatch RelativeStringPatch(size_t literal_offset, in RelativeStringPatch() argument 180 LinkerPatch patch(literal_offset, in CallEntrypointPatch() 190 LinkerPatch patch(literal_offset, 288 literal_offset_(literal_offset), in LinkerPatch() [all …]
|
/aosp12/art/dex2oat/linker/x86/ |
H A 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 …]
|
H A 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()
|
H A D | relative_patcher_x86_base.h | 33 uint32_t literal_offset,
|
/aosp12/art/dex2oat/linker/arm/ |
H A D | relative_patcher_thumb2.cc | 57 uint32_t literal_offset, in PatchCall() argument 63 PatchBl(code, literal_offset, displacement); in PatchCall() 70 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 75 uint32_t insn = GetInsn32(code, literal_offset); in PatchPcRelativeReference() 83 SetInsn32(code, literal_offset, insn); in PatchPcRelativeReference() 101 uint32_t literal_offset = patch.LiteralOffset(); in PatchBakerReadBarrierBranch() local 102 DCHECK_ALIGNED(literal_offset, 2u); in PatchBakerReadBarrierBranch() 103 DCHECK_LT(literal_offset, code->size()); in PatchBakerReadBarrierBranch() 104 uint32_t insn = GetInsn32(code, literal_offset); in PatchBakerReadBarrierBranch() 116 SetInsn32(code, literal_offset, insn); in PatchBakerReadBarrierBranch() [all …]
|
H A 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);
|
/aosp12/art/dex2oat/linker/arm64/ |
H A D | relative_patcher_arm64.cc | 197 DCHECK_ALIGNED(literal_offset, 4u); in PatchCall() 201 PatchBl(code, literal_offset, displacement); in PatchCall() 210 uint32_t literal_offset = patch.LiteralOffset(); in PatchPcRelativeReference() local 211 uint32_t insn = GetInsn(code, literal_offset); in PatchPcRelativeReference() 216 if (literal_offset == pc_insn_offset) { in PatchPcRelativeReference() 250 SetInsn(code, literal_offset, insn); in PatchPcRelativeReference() 305 SetInsn(code, literal_offset, insn); in PatchPcRelativeReference() 323 uint32_t literal_offset = patch.LiteralOffset(); in PatchBakerReadBarrierBranch() local 324 uint32_t insn = GetInsn(code, literal_offset); in PatchBakerReadBarrierBranch() 332 SetInsn(code, literal_offset, insn); in PatchBakerReadBarrierBranch() [all …]
|
H A 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,
|
/aosp12/art/dex2oat/linker/ |
H A 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()
|
H A D | relative_patcher.h | 130 uint32_t literal_offset,
|
H A D | multi_oat_relative_patcher_test.cc | 80 uint32_t literal_offset, in PatchCall() argument 83 last_literal_offset_ = literal_offset; in PatchCall()
|
H A D | oat_writer.cc | 1776 uint32_t literal_offset = patch.LiteralOffset(); in VisitMethod() local 1782 offset_ + literal_offset, in VisitMethod() 1792 offset_ + literal_offset, in VisitMethod() 1801 offset_ + literal_offset, in VisitMethod() 1809 literal_offset, in VisitMethod() 1810 offset_ + literal_offset, in VisitMethod() 1818 offset_ + literal_offset, in VisitMethod() 1828 offset_ + literal_offset, in VisitMethod() 1836 offset_ + literal_offset, in VisitMethod() 1845 offset_ + literal_offset, in VisitMethod() [all …]
|
H A D | relative_patcher.cc | 61 uint32_t literal_offset ATTRIBUTE_UNUSED, in Create()
|
/aosp12/art/compiler/optimizing/ |
H A D | code_generator_arm_vixl.cc | 1974 uint32_t literal_offset = info.label.GetLocation(); in Finalize() local 1975 DCHECK_ALIGNED(literal_offset, 2u); in Finalize() 1993 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 2000 DCHECK_GE(code.size() - literal_offset, 6u); in Finalize() 2010 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 2022 DCHECK_GE(literal_offset, 4u); in Finalize() 2028 DCHECK_GE(literal_offset, 2u); in Finalize() 2040 DCHECK_GE(literal_offset, 4u); in Finalize() 9552 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 9858 uint32_t literal_offset = literal->GetLocation(); in PatchJitRootUse() local [all …]
|
H A D | code_generator_arm64.cc | 988 uint32_t literal_offset = info.label.GetLocation(); in Finalize() local 989 DCHECK_ALIGNED(literal_offset, 4u); in Finalize() 1006 DCHECK_GE(code.size() - literal_offset, 8u); in Finalize() 1007 uint32_t next_insn = GetInsn(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() 1032 DCHECK_GE(literal_offset, 4u); in Finalize() 1033 uint32_t prev_insn = GetInsn(literal_offset - 4u); in Finalize() 5037 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 6847 uint32_t literal_offset = literal->GetOffset(); in PatchJitRootUse() local [all …]
|
H A D | code_generator_x86_64.cc | 1285 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; in EmitPcRelativeLinkerPatches() local 1287 Factory(literal_offset, info.target_dex_file, info.label.Position(), info.offset_or_index)); in EmitPcRelativeLinkerPatches() 1292 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 1297 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter()
|
H A D | code_generator_x86.cc | 5545 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; in EmitPcRelativeLinkerPatches() local 5546 linker_patches->push_back(Factory(literal_offset, in EmitPcRelativeLinkerPatches() 5554 linker::LinkerPatch NoDexFileAdapter(size_t literal_offset, in NoDexFileAdapter() argument 5559 return Factory(literal_offset, pc_insn_offset, boot_image_offset); in NoDexFileAdapter()
|