/art/compiler/linker/ |
linker_patch_test.cc | 24 TEST(LinkerPatch, LinkerPatchOperators) { 27 LinkerPatch patches[] = { 28 LinkerPatch::IntrinsicReferencePatch(16u, 3000u, 1000u), 29 LinkerPatch::IntrinsicReferencePatch(16u, 3001u, 1000u), 30 LinkerPatch::IntrinsicReferencePatch(16u, 3000u, 1001u), 31 LinkerPatch::IntrinsicReferencePatch(16u, 3001u, 1001u), 32 LinkerPatch::RelativeMethodPatch(16u, dex_file1, 3000u, 1000u), 33 LinkerPatch::RelativeMethodPatch(16u, dex_file1, 3001u, 1000u), 34 LinkerPatch::RelativeMethodPatch(16u, dex_file1, 3000u, 1001u), 35 LinkerPatch::RelativeMethodPatch(16u, dex_file1, 3001u, 1001u), // Index 7 [all...] |
linker_patch.h | 34 class LinkerPatch { 38 // 'art::LinkerPatch::patch_type_' is too small to hold all 39 // values of 'enum class art::LinkerPatch::Type' 58 static LinkerPatch IntrinsicReferencePatch(size_t literal_offset, 61 LinkerPatch patch(literal_offset, Type::kIntrinsicReference, /* target_dex_file= */ nullptr); 67 static LinkerPatch DataBimgRelRoPatch(size_t literal_offset, 70 LinkerPatch patch(literal_offset, Type::kDataBimgRelRo, /* target_dex_file= */ nullptr); 76 static LinkerPatch RelativeMethodPatch(size_t literal_offset, 80 LinkerPatch patch(literal_offset, Type::kMethodRelative, target_dex_file); 86 static LinkerPatch MethodBssEntryPatch(size_t literal_offset [all...] |
/art/dex2oat/linker/x86/ |
relative_patcher_x86.h | 30 const LinkerPatch& patch, 34 const LinkerPatch& patch,
|
relative_patcher_x86_test.cc | 46 LinkerPatch patches[] = { 47 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u), 49 AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); 59 LinkerPatch method1_patches[] = { 60 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 2u), 62 AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(method1_patches)); 63 LinkerPatch method2_patches[] = { 64 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u), 66 AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<const LinkerPatch>(method2_patches)); 92 LinkerPatch patches[] = [all...] |
/art/dex2oat/linker/x86_64/ |
relative_patcher_x86_64.h | 30 const LinkerPatch& patch, 34 const LinkerPatch& patch,
|
relative_patcher_x86_64.cc | 26 const LinkerPatch& patch, 39 const LinkerPatch& patch ATTRIBUTE_UNUSED,
|
relative_patcher_x86_64_test.cc | 66 LinkerPatch patches[] = { 67 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u), 69 AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); 79 LinkerPatch method1_patches[] = { 80 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 2u), 82 AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(method1_patches)); 83 LinkerPatch method2_patches[] = { 84 LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u), 86 AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<const LinkerPatch>(method2_patches)); 112 LinkerPatch patches[] = [all...] |
/art/dex2oat/linker/mips/ |
relative_patcher_mips32r6_test.cc | 41 void CheckPcRelativePatch(const ArrayRef<const LinkerPatch>& patches, uint32_t target_offset); 58 void Mips32r6RelativePatcherTest::CheckPcRelativePatch(const ArrayRef<const LinkerPatch>& patches, 60 AddCompiledMethod(MethodRef(1u), kUnpatchedPcRelativeCode, ArrayRef<const LinkerPatch>(patches)); 82 LinkerPatch patches[] = { 83 LinkerPatch::StringBssEntryPatch(kLiteralOffsetHigh, nullptr, kAnchorOffset, kStringIndex), 84 LinkerPatch::StringBssEntryPatch(kLiteralOffsetLow1, nullptr, kAnchorOffset, kStringIndex), 85 LinkerPatch::StringBssEntryPatch(kLiteralOffsetLow2, nullptr, kAnchorOffset, kStringIndex) 87 CheckPcRelativePatch(ArrayRef<const LinkerPatch>(patches), bss_begin_ + string_entry_offset); 93 LinkerPatch patches[] = { 94 LinkerPatch::RelativeStringPatch(kLiteralOffsetHigh, nullptr, kAnchorOffset, kStringIndex) [all...] |
relative_patcher_mips_test.cc | 42 void CheckPcRelativePatch(const ArrayRef<const LinkerPatch>& patches, uint32_t target_offset); 61 void MipsRelativePatcherTest::CheckPcRelativePatch(const ArrayRef<const LinkerPatch>& patches, 63 AddCompiledMethod(MethodRef(1u), kUnpatchedPcRelativeCode, ArrayRef<const LinkerPatch>(patches)); 87 LinkerPatch patches[] = { 88 LinkerPatch::StringBssEntryPatch(kLiteralOffsetHigh, nullptr, kAnchorOffset, kStringIndex), 89 LinkerPatch::StringBssEntryPatch(kLiteralOffsetLow1, nullptr, kAnchorOffset, kStringIndex), 90 LinkerPatch::StringBssEntryPatch(kLiteralOffsetLow2, nullptr, kAnchorOffset, kStringIndex) 92 CheckPcRelativePatch(ArrayRef<const LinkerPatch>(patches), bss_begin_ + string_entry_offset); 98 LinkerPatch patches[] = { 99 LinkerPatch::RelativeStringPatch(kLiteralOffsetHigh, nullptr, kAnchorOffset, kStringIndex) [all...] |
relative_patcher_mips.h | 41 const LinkerPatch& patch, 45 const LinkerPatch& patch,
|
relative_patcher_mips.cc | 49 const LinkerPatch& patch, 90 const LinkerPatch& patch ATTRIBUTE_UNUSED,
|
/art/compiler/driver/ |
compiled_method_storage.h | 33 class LinkerPatch; 63 const LengthPrefixedArray<linker::LinkerPatch>* DeduplicateLinkerPatches( 64 const ArrayRef<const linker::LinkerPatch>& linker_patches); 65 void ReleaseLinkerPatches(const LengthPrefixedArray<linker::LinkerPatch>* linker_patches); 70 ArrayRef<const uint8_t> GetThunkCode(const linker::LinkerPatch& linker_patch, 74 void SetThunkCode(const linker::LinkerPatch& linker_patch, 88 static ThunkMapKey GetThunkMapKey(const linker::LinkerPatch& linker_patch); 121 ArrayDedupeSet<linker::LinkerPatch> dedupe_linker_patches_;
|
compiled_method_storage_test.cc | 48 const linker::LinkerPatch raw_patches1[] = { 49 linker::LinkerPatch::IntrinsicReferencePatch(0u, 0u, 0u), 50 linker::LinkerPatch::RelativeMethodPatch(4u, nullptr, 0u, 1u), 52 const linker::LinkerPatch raw_patches2[] = { 53 linker::LinkerPatch::IntrinsicReferencePatch(0u, 0u, 0u), 54 linker::LinkerPatch::RelativeMethodPatch(4u, nullptr, 0u, 2u), 56 ArrayRef<const linker::LinkerPatch> patches[] = { 57 ArrayRef<const linker::LinkerPatch>(raw_patches1), 58 ArrayRef<const linker::LinkerPatch>(raw_patches2),
|
compiled_method_storage.cc | 109 ThunkMapKey(linker::LinkerPatch::Type type, uint32_t custom_value1, uint32_t custom_value2) 123 linker::LinkerPatch::Type type_; 155 LengthPrefixedArrayAlloc<linker::LinkerPatch>(swap_space_.get())), 204 const LengthPrefixedArray<linker::LinkerPatch>* CompiledMethodStorage::DeduplicateLinkerPatches( 205 const ArrayRef<const linker::LinkerPatch>& linker_patches) { 210 const LengthPrefixedArray<linker::LinkerPatch>* linker_patches) { 215 const linker::LinkerPatch& linker_patch) { 219 case linker::LinkerPatch::Type::kBakerReadBarrierBranch: 223 case linker::LinkerPatch::Type::kCallRelative: 233 ArrayRef<const uint8_t> CompiledMethodStorage::GetThunkCode(const linker::LinkerPatch& linker_patch [all...] |
/art/dex2oat/linker/mips64/ |
relative_patcher_mips64_test.cc | 43 void CheckPcRelativePatch(const ArrayRef<const LinkerPatch>& patches, uint32_t target_offset); 60 void Mips64RelativePatcherTest::CheckPcRelativePatch(const ArrayRef<const LinkerPatch>& patches, 62 AddCompiledMethod(MethodRef(1u), kUnpatchedPcRelativeCode, ArrayRef<const LinkerPatch>(patches)); 84 LinkerPatch patches[] = { 85 LinkerPatch::StringBssEntryPatch(kLiteralOffsetHigh, nullptr, kAnchorOffset, kStringIndex), 86 LinkerPatch::StringBssEntryPatch(kLiteralOffsetLow1, nullptr, kAnchorOffset, kStringIndex), 87 LinkerPatch::StringBssEntryPatch(kLiteralOffsetLow2, nullptr, kAnchorOffset, kStringIndex) 89 CheckPcRelativePatch(ArrayRef<const LinkerPatch>(patches), bss_begin_ + string_entry_offset);
|
relative_patcher_mips64.h | 39 const LinkerPatch& patch, 43 const LinkerPatch& patch,
|
/art/dex2oat/linker/arm/ |
relative_patcher_thumb2_test.cc | 144 const ArrayRef<const LinkerPatch>& method1_patches, 146 const ArrayRef<const LinkerPatch>& last_method_patches, 209 std::vector<uint8_t> CompileThunk(const LinkerPatch& patch, 223 const ArrayRef<const LinkerPatch>& patches = ArrayRef<const LinkerPatch>()) { 227 for (const LinkerPatch& patch : patches) { 228 if (patch.GetType() == LinkerPatch::Type::kBakerReadBarrierBranch || 229 patch.GetType() == LinkerPatch::Type::kCallRelative) { 238 LinkerPatch patch = LinkerPatch::RelativeCodePatch(/* literal_offset */ 0u [all...] |
relative_patcher_thumb2.h | 42 const LinkerPatch& patch, 46 const LinkerPatch& patch,
|
/art/dex2oat/linker/arm64/ |
relative_patcher_arm64_test.cc | 111 const ArrayRef<const LinkerPatch>& method1_patches, 113 const ArrayRef<const LinkerPatch>& last_method_patches, 175 std::vector<uint8_t> CompileThunk(const LinkerPatch& patch, 196 const ArrayRef<const LinkerPatch>& patches = ArrayRef<const LinkerPatch>()) { 200 for (const LinkerPatch& patch : patches) { 201 if (patch.GetType() == LinkerPatch::Type::kBakerReadBarrierBranch || 202 patch.GetType() == LinkerPatch::Type::kCallRelative) { 211 LinkerPatch patch = LinkerPatch::RelativeCodePatch(/* literal_offset */ 0u [all...] |
relative_patcher_arm64.cc | 58 inline bool IsAdrpPatch(const LinkerPatch& patch) { 60 case LinkerPatch::Type::kCallRelative: 61 case LinkerPatch::Type::kBakerReadBarrierBranch: 63 case LinkerPatch::Type::kIntrinsicReference: 64 case LinkerPatch::Type::kDataBimgRelRo: 65 case LinkerPatch::Type::kMethodRelative: 66 case LinkerPatch::Type::kMethodBssEntry: 67 case LinkerPatch::Type::kTypeRelative: 68 case LinkerPatch::Type::kTypeBssEntry: 69 case LinkerPatch::Type::kStringRelative [all...] |
relative_patcher_arm64.h | 47 const LinkerPatch& patch, 51 const LinkerPatch& patch,
|
/art/dex2oat/linker/ |
relative_patcher.h | 39 class LinkerPatch; 54 virtual void GetThunkCode(const LinkerPatch& patch, 136 const LinkerPatch& patch, 142 const LinkerPatch& patch,
|
relative_patcher_test.h | 105 const ArrayRef<const LinkerPatch>& patches = ArrayRef<const LinkerPatch>()) { 172 for (const LinkerPatch& patch : compiled_method->GetPatches()) { 173 if (patch.GetType() == LinkerPatch::Type::kCallRelative) { 179 } else if (patch.GetType() == LinkerPatch::Type::kStringBssEntry) { 186 } else if (patch.GetType() == LinkerPatch::Type::kStringRelative) { 193 } else if (patch.GetType() == LinkerPatch::Type::kBakerReadBarrierBranch) { 276 void SetThunkCode(const LinkerPatch& patch, 282 void GetThunkCode(const LinkerPatch& patch, 301 explicit ThunkKey(const LinkerPatch& patch [all...] |
/art/compiler/ |
compiled_method.h | 35 class LinkerPatch; 116 const ArrayRef<const linker::LinkerPatch>& patches); 126 const ArrayRef<const linker::LinkerPatch>& patches); 146 ArrayRef<const linker::LinkerPatch> GetPatches() const; 162 const LengthPrefixedArray<linker::LinkerPatch>* const patches_;
|
compiled_method-inl.h | 49 inline ArrayRef<const linker::LinkerPatch> CompiledMethod::GetPatches() const {
|