Searched refs:LinkerPatch (Results 1 - 25 of 39) sorted by relevance

12

/art/compiler/
H A Dcompiled_method_test.cc52 LinkerPatch patches[] = {
53 LinkerPatch::MethodPatch(16u, dex_file1, 1000u),
54 LinkerPatch::MethodPatch(16u, dex_file1, 1001u),
55 LinkerPatch::MethodPatch(16u, dex_file2, 1000u),
56 LinkerPatch::MethodPatch(16u, dex_file2, 1001u), // Index 3.
57 LinkerPatch::CodePatch(16u, dex_file1, 1000u),
58 LinkerPatch::CodePatch(16u, dex_file1, 1001u),
59 LinkerPatch::CodePatch(16u, dex_file2, 1000u),
60 LinkerPatch::CodePatch(16u, dex_file2, 1001u),
61 LinkerPatch
[all...]
H A Dcompiled_method.h162 class LinkerPatch { class in namespace:art
166 // 'art::LinkerPatch::patch_type_' is too small to hold all
167 // values of 'enum class art::LinkerPatch::Type'
182 static LinkerPatch RecordPosition(size_t literal_offset) {
183 return LinkerPatch(literal_offset, Type::kRecordPosition, /* target_dex_file */ nullptr);
186 static LinkerPatch MethodPatch(size_t literal_offset,
189 LinkerPatch patch(literal_offset, Type::kMethod, target_dex_file);
194 static LinkerPatch CodePatch(size_t literal_offset,
197 LinkerPatch patch(literal_offset, Type::kCall, target_dex_file);
202 static LinkerPatch RelativeCodePatc
312 LinkerPatch(size_t literal_offset, Type patch_type, const DexFile* target_dex_file) function in class:art::LinkerPatch
[all...]
H A Dcompiled_method.cc111 const ArrayRef<const LinkerPatch>& patches)
132 const ArrayRef<const LinkerPatch>& patches) {
/art/compiler/linker/x86/
H A Drelative_patcher_x86_test.cc45 LinkerPatch patches[] = {
46 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u),
48 AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches));
58 LinkerPatch method1_patches[] = {
59 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 2u),
61 AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(method1_patches));
62 LinkerPatch method2_patches[] = {
63 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u),
65 AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<const LinkerPatch>(method2_patches));
91 LinkerPatch patche
[all...]
H A Drelative_patcher_x86.h30 const LinkerPatch& patch,
H A Drelative_patcher_x86.cc25 const LinkerPatch& patch,
/art/compiler/linker/x86_64/
H A Drelative_patcher_x86_64_test.cc65 LinkerPatch patches[] = {
66 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u),
68 AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches));
78 LinkerPatch method1_patches[] = {
79 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 2u),
81 AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(method1_patches));
82 LinkerPatch method2_patches[] = {
83 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u),
85 AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<const LinkerPatch>(method2_patches));
111 LinkerPatch patche
[all...]
H A Drelative_patcher_x86_64.h30 const LinkerPatch& patch,
H A Drelative_patcher_x86_64.cc25 const LinkerPatch& patch,
/art/compiler/linker/arm/
H A Drelative_patcher_thumb2_test.cc46 const ArrayRef<const LinkerPatch>& method1_patches,
48 const ArrayRef<const LinkerPatch>& method3_patches,
66 AddCompiledMethod(MethodRef(2u), method2_code, ArrayRef<const LinkerPatch>());
131 void CheckPcRelativePatch(const ArrayRef<const LinkerPatch>& patches, uint32_t target_offset);
158 LinkerPatch patches[] = {
159 LinkerPatch::DexCacheArrayPatch(0u, nullptr, kPcInsnOffset, element_offset),
160 LinkerPatch::DexCacheArrayPatch(4u, nullptr, kPcInsnOffset, element_offset),
162 CheckPcRelativePatch(ArrayRef<const LinkerPatch>(patches),
169 LinkerPatch patches[] = {
170 LinkerPatch
[all...]
H A Drelative_patcher_thumb2.h34 const LinkerPatch& patch,
H A Drelative_patcher_arm_base.cc114 for (const LinkerPatch& patch : compiled_method->GetPatches()) {
115 if (patch.GetType() == LinkerPatch::Type::kCallRelative) {
H A Drelative_patcher_thumb2.cc60 const LinkerPatch& patch,
/art/compiler/driver/
H A Dcompiled_method_storage.h31 class LinkerPatch;
65 const LengthPrefixedArray<LinkerPatch>* DeduplicateLinkerPatches(
66 const ArrayRef<const LinkerPatch>& linker_patches);
67 void ReleaseLinkerPatches(const LengthPrefixedArray<LinkerPatch>* linker_patches);
102 ArrayDedupeSet<LinkerPatch> dedupe_linker_patches_;
H A Dcompiled_method_storage_test.cc77 const LinkerPatch raw_patches1[] = {
78 LinkerPatch::CodePatch(0u, nullptr, 1u),
79 LinkerPatch::MethodPatch(4u, nullptr, 1u),
81 const LinkerPatch raw_patches2[] = {
82 LinkerPatch::CodePatch(0u, nullptr, 1u),
83 LinkerPatch::MethodPatch(4u, nullptr, 2u),
85 ArrayRef<const LinkerPatch> patches[] = {
86 ArrayRef<const LinkerPatch>(raw_patches1),
87 ArrayRef<const LinkerPatch>(raw_patches2),
H A Dcompiled_method_storage.cc181 LengthPrefixedArrayAlloc<LinkerPatch>(swap_space_.get())) {
237 const LengthPrefixedArray<LinkerPatch>* CompiledMethodStorage::DeduplicateLinkerPatches(
238 const ArrayRef<const LinkerPatch>& linker_patches) {
243 const LengthPrefixedArray<LinkerPatch>* linker_patches) {
/art/compiler/linker/arm64/
H A Drelative_patcher_arm64_test.cc65 const ArrayRef<const LinkerPatch>& method1_patches,
67 const ArrayRef<const LinkerPatch>& last_method_patches,
92 ArrayRef<const LinkerPatch>());
98 ArrayRef<const LinkerPatch>());
207 LinkerPatch patches[] = {
208 LinkerPatch::DexCacheArrayPatch(num_nops * 4u , nullptr, num_nops * 4u, element_offset),
209 LinkerPatch::DexCacheArrayPatch(num_nops * 4u + 4u, nullptr, num_nops * 4u, element_offset),
213 ArrayRef<const LinkerPatch>(patches));
232 LinkerPatch patches[] = {
233 LinkerPatch
[all...]
H A Drelative_patcher_arm64.cc33 inline bool IsAdrpPatch(const LinkerPatch& patch) {
34 LinkerPatch::Type type = patch.GetType();
36 (type == LinkerPatch::Type::kStringRelative || type == LinkerPatch::Type::kDexCacheArray) &&
74 for (const LinkerPatch& patch : compiled_method->GetPatches()) {
90 for (const LinkerPatch& patch : compiled_method->GetPatches()) {
164 const LinkerPatch& patch,
213 DCHECK(patch.GetType() == LinkerPatch::Type::kStringRelative) << patch.GetType();
217 DCHECK(patch.GetType() == LinkerPatch::Type::kDexCacheArray) << patch.GetType();
298 // And since LinkerPatch
[all...]
H A Drelative_patcher_arm64.h41 const LinkerPatch& patch,
/art/compiler/linker/
H A Drelative_patcher.h31 class LinkerPatch;
108 const LinkerPatch& patch,
H A Dmulti_oat_relative_patcher.h28 class LinkerPatch;
107 const LinkerPatch& patch,
H A Drelative_patcher_test.h86 const ArrayRef<const LinkerPatch>& patches) {
151 for (const LinkerPatch& patch : compiled_method->GetPatches()) {
152 if (patch.GetType() == LinkerPatch::Type::kCallRelative) {
158 } else if (patch.GetType() == LinkerPatch::Type::kDexCacheArray) {
164 } else if (patch.GetType() == LinkerPatch::Type::kStringRelative) {
H A Drelative_patcher.cc66 const LinkerPatch& patch ATTRIBUTE_UNUSED,
H A Dmulti_oat_relative_patcher_test.cc90 const LinkerPatch& patch,
278 LinkerPatch method2_patch =
279 LinkerPatch::DexCacheArrayPatch(method2_literal_offset, nullptr, 0u, 1234u);
/art/compiler/optimizing/
H A Doptimizing_compiler.cc567 static ArenaVector<LinkerPatch> EmitAndSortLinkerPatches(CodeGenerator* codegen) {
568 ArenaVector<LinkerPatch> linker_patches(codegen->GetGraph()->GetArena()->Adapter());
573 [](const LinkerPatch& lhs, const LinkerPatch& rhs) {
585 ArenaVector<LinkerPatch> linker_patches = EmitAndSortLinkerPatches(codegen);
603 ArrayRef<const LinkerPatch>(linker_patches));

Completed in 152 milliseconds

12