/art/compiler/linker/x86/ |
H A D | relative_patcher_x86.cc | 29 uint32_t literal_offset = patch.LiteralOffset(); local 44 DCHECK_LE(literal_offset, code->size()); 45 DCHECK_EQ((*code)[literal_offset + 0u], static_cast<uint8_t>(kDummy32BitOffset >> 0)); 46 DCHECK_EQ((*code)[literal_offset + 1u], static_cast<uint8_t>(kDummy32BitOffset >> 8)); 47 DCHECK_EQ((*code)[literal_offset + 2u], static_cast<uint8_t>(kDummy32BitOffset >> 16)); 48 DCHECK_EQ((*code)[literal_offset + 3u], static_cast<uint8_t>(kDummy32BitOffset >> 24)); 51 uint32_t anchor_offset = patch_offset - literal_offset + anchor_literal_offset; 53 (*code)[literal_offset + 0u] = static_cast<uint8_t>(diff >> 0); 54 (*code)[literal_offset + 1u] = static_cast<uint8_t>(diff >> 8); 55 (*code)[literal_offset [all...] |
H A D | relative_patcher_x86_base.cc | 38 uint32_t literal_offset, 41 DCHECK_LE(literal_offset + 4u, code->size()); 47 reinterpret_cast<unaligned_int32_t*>(&(*code)[literal_offset])[0] = displacement; 37 PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, uint32_t patch_offset, uint32_t target_offset) argument
|
/art/compiler/linker/mips/ |
H A D | relative_patcher_mips.cc | 40 uint32_t literal_offset ATTRIBUTE_UNUSED, 51 uint32_t literal_offset = patch.LiteralOffset(); local 60 DCHECK_LE(literal_offset, code->size() - 8u); 61 DCHECK_EQ(literal_offset, anchor_literal_offset); 63 DCHECK_EQ((*code)[literal_offset + 0], 0x34); 64 DCHECK_EQ((*code)[literal_offset + 1], 0x12); 65 DCHECK_EQ(((*code)[literal_offset + 2] & 0x1F), 0x1E); 66 DCHECK_EQ(((*code)[literal_offset + 3] & 0xFC), 0xEC); 68 DCHECK_EQ((*code)[literal_offset + 4], 0x78); 69 DCHECK_EQ((*code)[literal_offset [all...] |
/art/compiler/linker/mips64/ |
H A D | relative_patcher_mips64.cc | 40 uint32_t literal_offset, 45 DCHECK_LE(literal_offset, code->size() - 8u); 47 DCHECK_EQ((*code)[literal_offset + 0], 0x34); 48 DCHECK_EQ((*code)[literal_offset + 1], 0x12); 49 DCHECK_EQ(((*code)[literal_offset + 2] & 0x1F), 0x1E); 50 DCHECK_EQ(((*code)[literal_offset + 3] & 0xFC), 0xEC); 52 DCHECK_EQ((*code)[literal_offset + 4], 0x78); 53 DCHECK_EQ((*code)[literal_offset + 5], 0x56); 54 DCHECK_EQ(((*code)[literal_offset + 6] & 0xE0), 0x00); 55 DCHECK_EQ((*code)[literal_offset 39 PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, uint32_t patch_offset, uint32_t target_offset) argument 78 uint32_t literal_offset = patch.LiteralOffset(); local [all...] |
/art/compiler/linker/ |
H A D | multi_oat_relative_patcher.h | 97 uint32_t literal_offset, 102 relative_patcher_->PatchCall(code, literal_offset, patch_offset, target_offset); 96 PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, uint32_t patch_offset, uint32_t target_offset) argument
|
/art/compiler/linker/arm/ |
H A D | relative_patcher_thumb2.cc | 40 uint32_t literal_offset, 43 DCHECK_LE(literal_offset + 4u, code->size()); 44 DCHECK_EQ(literal_offset & 1u, 0u); 62 DCHECK_EQ(GetInsn32(code, literal_offset) & 0xf800d000, 0xf000d000); 64 SetInsn32(code, literal_offset, value); 71 uint32_t literal_offset = patch.LiteralOffset(); local 73 uint32_t pc_base = patch_offset + (pc_literal_offset - literal_offset) + 4u /* PC adjustment */; 76 uint32_t insn = GetInsn32(code, literal_offset); 84 SetInsn32(code, literal_offset, insn); 39 PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, uint32_t patch_offset, uint32_t target_offset) argument
|
/art/compiler/ |
H A D | compiled_method.h | 135 static LinkerPatch MethodPatch(size_t literal_offset, argument 138 LinkerPatch patch(literal_offset, Type::kMethod, target_dex_file); 143 static LinkerPatch CodePatch(size_t literal_offset, argument 146 LinkerPatch patch(literal_offset, Type::kCall, target_dex_file); 151 static LinkerPatch RelativeCodePatch(size_t literal_offset, argument 154 LinkerPatch patch(literal_offset, Type::kCallRelative, target_dex_file); 159 static LinkerPatch TypePatch(size_t literal_offset, argument 162 LinkerPatch patch(literal_offset, Type::kType, target_dex_file); 167 static LinkerPatch RelativeTypePatch(size_t literal_offset, argument 171 LinkerPatch patch(literal_offset, Typ 177 TypeBssEntryPatch(size_t literal_offset, const DexFile* target_dex_file, uint32_t pc_insn_offset, uint32_t target_type_idx) argument 187 StringPatch(size_t literal_offset, const DexFile* target_dex_file, uint32_t target_string_idx) argument 195 RelativeStringPatch(size_t literal_offset, const DexFile* target_dex_file, uint32_t pc_insn_offset, uint32_t target_string_idx) argument 205 StringBssEntryPatch(size_t literal_offset, const DexFile* target_dex_file, uint32_t pc_insn_offset, uint32_t target_string_idx) argument 215 DexCacheArrayPatch(size_t literal_offset, const DexFile* target_dex_file, uint32_t pc_insn_offset, uint32_t element_offset) argument 225 BakerReadBarrierBranchPatch(size_t literal_offset, uint32_t custom_value1 = 0u, uint32_t custom_value2 = 0u) argument 325 LinkerPatch(size_t literal_offset, Type patch_type, const DexFile* target_dex_file) argument [all...] |
/art/compiler/linker/arm64/ |
H A D | relative_patcher_arm64.cc | 184 uint32_t literal_offset, 187 DCHECK_LE(literal_offset + 4u, code->size()); 188 DCHECK_EQ(literal_offset & 3u, 0u); 198 DCHECK_EQ(GetInsn(code, literal_offset) & 0xfc000000u, 0x94000000u); 200 SetInsn(code, literal_offset, insn); 209 uint32_t literal_offset = patch.LiteralOffset(); local 210 uint32_t insn = GetInsn(code, literal_offset); 212 uint32_t disp = target_offset - ((patch_offset - literal_offset + pc_insn_offset) & ~0xfffu); 215 if (literal_offset == pc_insn_offset) { 218 << literal_offset << ", " << pc_insn_offse 183 PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, uint32_t patch_offset, uint32_t target_offset) argument 302 uint32_t literal_offset = patch.LiteralOffset(); local 526 NeedsErratum843419Thunk(ArrayRef<const uint8_t> code, uint32_t literal_offset, uint32_t patch_offset) argument [all...] |
/art/compiler/optimizing/ |
H A D | code_generator_mips.cc | 1591 uint32_t literal_offset = __ GetLabelLocation(literal->GetLabel()); local 1592 linker_patches->push_back(LinkerPatch::StringPatch(literal_offset, 1600 uint32_t literal_offset = __ GetLabelLocation(literal->GetLabel()); local 1601 linker_patches->push_back(LinkerPatch::TypePatch(literal_offset, 1718 uint32_t literal_offset = GetAssembler().GetLabelLocation(&info.high_label); 1723 DCHECK_EQ(code[literal_offset + 0], 0x34); 1724 DCHECK_EQ(code[literal_offset + 1], 0x12); 1725 DCHECK_EQ((code[literal_offset + 2] & 0xE0), 0x00); 1726 DCHECK_EQ(code[literal_offset + 3], 0x3C); 1728 DCHECK_EQ(code[literal_offset [all...] |
H A D | code_generator_mips64.cc | 1472 uint32_t literal_offset = __ GetLabelLocation(literal->GetLabel()); local 1473 linker_patches->push_back(LinkerPatch::StringPatch(literal_offset, 1481 uint32_t literal_offset = __ GetLabelLocation(literal->GetLabel()); local 1482 linker_patches->push_back(LinkerPatch::TypePatch(literal_offset, 1585 uint32_t literal_offset = GetAssembler().GetLabelLocation(literal->GetLabel()); 1588 reinterpret_cast<uint32_t*>(code + literal_offset)[0] = dchecked_integral_cast<uint32_t>(address);
|
H A D | code_generator_x86.cc | 4687 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; local 4689 literal_offset, &info.dex_file, GetMethodAddressOffset(info.method_address), info.index)); 4712 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; local 4713 linker_patches->push_back(LinkerPatch::TypePatch(literal_offset, &info.dex_file, info.index)); 4716 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; local 4718 LinkerPatch::StringPatch(literal_offset, &info.dex_file, info.index));
|
H A D | code_generator_x86_64.cc | 1121 uint32_t literal_offset = info.label.Position() - kLabelPositionToLiteralOffsetAdjustment; local 1123 Factory(literal_offset, &info.dex_file, info.label.Position(), info.index));
|