/art/libdexfile/dex/ |
D | dex_instruction_utils.h | 87 constexpr bool IsInstructionIGet(Instruction::Code code) { in IsInstructionIGet() argument 88 return Instruction::IGET <= code && code <= Instruction::IGET_SHORT; in IsInstructionIGet() 91 constexpr bool IsInstructionIPut(Instruction::Code code) { in IsInstructionIPut() argument 92 return Instruction::IPUT <= code && code <= Instruction::IPUT_SHORT; in IsInstructionIPut() 95 constexpr bool IsInstructionSGet(Instruction::Code code) { in IsInstructionSGet() argument 96 return Instruction::SGET <= code && code <= Instruction::SGET_SHORT; in IsInstructionSGet() 99 constexpr bool IsInstructionSPut(Instruction::Code code) { in IsInstructionSPut() argument 100 return Instruction::SPUT <= code && code <= Instruction::SPUT_SHORT; in IsInstructionSPut() 103 constexpr bool IsInstructionAGet(Instruction::Code code) { in IsInstructionAGet() argument 104 return Instruction::AGET <= code && code <= Instruction::AGET_SHORT; in IsInstructionAGet() [all …]
|
/art/dex2oat/linker/x86/ |
D | relative_patcher_x86.cc | 25 void X86RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, in PatchPcRelativeReference() argument 34 DCHECK_LT(anchor_literal_offset, code->size()); in PatchPcRelativeReference() 35 DCHECK_EQ((*code)[anchor_literal_offset - 5u], 0xe8u); in PatchPcRelativeReference() 36 DCHECK_EQ((*code)[anchor_literal_offset - 4u], 0x00u); in PatchPcRelativeReference() 37 DCHECK_EQ((*code)[anchor_literal_offset - 3u], 0x00u); in PatchPcRelativeReference() 38 DCHECK_EQ((*code)[anchor_literal_offset - 2u], 0x00u); in PatchPcRelativeReference() 39 DCHECK_EQ((*code)[anchor_literal_offset - 1u], 0x00u); in PatchPcRelativeReference() 40 DCHECK_EQ((*code)[anchor_literal_offset] & 0xf8u, 0x58u); in PatchPcRelativeReference() 45 DCHECK_LE(literal_offset, code->size()); in PatchPcRelativeReference() 46 DCHECK_EQ((*code)[literal_offset + 0u], static_cast<uint8_t>(kPlaceholder32BitOffset >> 0)); in PatchPcRelativeReference() [all …]
|
D | relative_patcher_x86.h | 29 void PatchPcRelativeReference(std::vector<uint8_t>* code, 33 void PatchEntrypointCall(std::vector<uint8_t>* code, 36 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
|
D | relative_patcher_x86_base.cc | 44 void X86BaseRelativePatcher::PatchCall(std::vector<uint8_t>* code, 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()
|
/art/runtime/ |
D | oat_file-inl.h | 28 const void* code = EntryPointToCodePointer(GetOatPointer<const void*>(code_offset_)); in GetOatQuickMethodHeader() local 29 if (code == nullptr) { in GetOatQuickMethodHeader() 33 return reinterpret_cast<const OatQuickMethodHeader*>(code) - 1; in GetOatQuickMethodHeader() 45 const void* code = EntryPointToCodePointer(GetQuickCode()); in GetFrameSizeInBytes() local 46 if (code == nullptr) { in GetFrameSizeInBytes() 49 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().FrameSizeInBytes(); in GetFrameSizeInBytes() 53 const void* code = EntryPointToCodePointer(GetQuickCode()); in GetCoreSpillMask() local 54 if (code == nullptr) { in GetCoreSpillMask() 57 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().CoreSpillMask(); in GetCoreSpillMask() 61 const void* code = EntryPointToCodePointer(GetQuickCode()); in GetFpSpillMask() local [all …]
|
D | oat_quick_method_header.h | 43 uintptr_t code = reinterpret_cast<uintptr_t>(code_ptr); in FromCodePointer() local 44 uintptr_t header = code - OFFSETOF_MEMBER(OatQuickMethodHeader, code_); in FromCodePointer() 45 DCHECK(IsAlignedParam(code, GetInstructionSetAlignment(kRuntimeISA)) || in FromCodePointer() 47 << std::hex << code << " " << std::hex << header; in FromCodePointer() 67 uintptr_t code = reinterpret_cast<uintptr_t>(code_); in IsOptimized() local 68 DCHECK_NE(data_, 0u) << std::hex << code; // Probably a padding of native code. in IsOptimized() 69 DCHECK_NE(data_, 0xFFFFFFFF) << std::hex << code; // Probably a stub or trampoline. in IsOptimized()
|
/art/dex2oat/linker/arm/ |
D | relative_patcher_thumb2.cc | 56 void Thumb2RelativePatcher::PatchCall(std::vector<uint8_t>* code, in PatchCall() argument 63 PatchBl(code, literal_offset, displacement); in PatchCall() 66 void Thumb2RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, in PatchPcRelativeReference() argument 75 uint32_t insn = GetInsn32(code, literal_offset); in PatchPcRelativeReference() 83 SetInsn32(code, literal_offset, insn); in PatchPcRelativeReference() 86 void Thumb2RelativePatcher::PatchEntrypointCall(std::vector<uint8_t>* code, in PatchEntrypointCall() argument 94 PatchBl(code, patch.LiteralOffset(), displacement); in PatchEntrypointCall() 97 void Thumb2RelativePatcher::PatchBakerReadBarrierBranch(std::vector<uint8_t>* code, in PatchBakerReadBarrierBranch() argument 103 DCHECK_LT(literal_offset, code->size()); in PatchBakerReadBarrierBranch() 104 uint32_t insn = GetInsn32(code, literal_offset); in PatchBakerReadBarrierBranch() [all …]
|
D | relative_patcher_thumb2.h | 37 void PatchCall(std::vector<uint8_t>* code, 41 void PatchPcRelativeReference(std::vector<uint8_t>* code, 45 void PatchEntrypointCall(std::vector<uint8_t>* code, 48 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code, 57 static void PatchBl(std::vector<uint8_t>* code, uint32_t literal_offset, uint32_t displacement); 59 static void SetInsn32(std::vector<uint8_t>* code, uint32_t offset, uint32_t value); 60 static uint32_t GetInsn32(ArrayRef<const uint8_t> code, uint32_t offset); 63 static uint32_t GetInsn32(Vector* code, uint32_t offset); 65 static uint32_t GetInsn16(ArrayRef<const uint8_t> code, uint32_t offset); 68 static uint32_t GetInsn16(Vector* code, uint32_t offset);
|
/art/compiler/utils/arm64/ |
D | assembler_arm64.h | 147 void GenerateMarkingRegisterCheck(vixl::aarch64::Register temp, int code = 0); 163 static vixl::aarch64::Register reg_x(int code) { in reg_x() argument 164 CHECK(code < kNumberOfXRegisters) << code; in reg_x() 165 if (code == SP) { in reg_x() 167 } else if (code == XZR) { in reg_x() 170 return vixl::aarch64::XRegister(code); in reg_x() 173 static vixl::aarch64::Register reg_w(int code) { in reg_w() argument 174 CHECK(code < kNumberOfWRegisters) << code; in reg_w() 175 if (code == WSP) { in reg_w() 177 } else if (code == WZR) { in reg_w() [all …]
|
/art/dex2oat/linker/arm64/ |
D | relative_patcher_arm64.cc | 127 ArrayRef<const uint8_t> code = compiled_method->GetQuickCode(); in ReserveSpace() local 128 uint32_t max_extra_space = MaxExtraSpace(num_adrp, code.size()); in ReserveSpace() 137 uint32_t thunk_offset = compiled_method->AlignCode(quick_code_offset + code.size()); in ReserveSpace() 142 if (NeedsErratum843419Thunk(code, patch.LiteralOffset(), patch_offset)) { in ReserveSpace() 193 void Arm64RelativePatcher::PatchCall(std::vector<uint8_t>* code, in PatchCall() argument 201 PatchBl(code, literal_offset, displacement); in PatchCall() 204 void Arm64RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, in PatchPcRelativeReference() argument 211 uint32_t insn = GetInsn(code, literal_offset); in PatchPcRelativeReference() 222 DCHECK(NeedsErratum843419Thunk(ArrayRef<const uint8_t>(*code), in PatchPcRelativeReference() 250 SetInsn(code, literal_offset, insn); in PatchPcRelativeReference() [all …]
|
D | relative_patcher_arm64.h | 42 void PatchCall(std::vector<uint8_t>* code, 46 void PatchPcRelativeReference(std::vector<uint8_t>* code, 50 void PatchEntrypointCall(std::vector<uint8_t>* code, 53 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code, 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, 67 static void SetInsn(std::vector<uint8_t>* code, uint32_t offset, uint32_t value); 68 static uint32_t GetInsn(ArrayRef<const uint8_t> code, uint32_t offset); 71 static uint32_t GetInsn(std::vector<uint8_t, Alloc>* code, uint32_t offset);
|
/art/test/639-checker-code-sinking/ |
D | Android.bp | 3 // Build rules for ART run-test `639-checker-code-sinking`. 14 // Test's Dex code. 16 name: "art-run-test-639-checker-code-sinking", 21 ":art-run-test-639-checker-code-sinking-expected-stdout", 22 ":art-run-test-639-checker-code-sinking-expected-stderr", 31 name: "art-run-test-639-checker-code-sinking-expected-stdout", 32 out: ["art-run-test-639-checker-code-sinking-expected-stdout.txt"], 39 name: "art-run-test-639-checker-code-sinking-expected-stderr", 40 out: ["art-run-test-639-checker-code-sinking-expected-stderr.txt"],
|
/art/test/677-fsi/ |
D | expected-stderr.txt | 1 oat file has dex code, but APK has uncompressed dex code 2 oat file has dex code, but APK has uncompressed dex code
|
/art/dex2oat/linker/x86_64/ |
D | relative_patcher_x86_64.cc | 25 void X86_64RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, in PatchPcRelativeReference() argument 29 DCHECK_LE(patch.LiteralOffset() + 4u, code->size()); in PatchPcRelativeReference() 35 reinterpret_cast<unaligned_int32_t*>(&(*code)[patch.LiteralOffset()])[0] = displacement; in PatchPcRelativeReference() 38 void X86_64RelativePatcher::PatchEntrypointCall(std::vector<uint8_t>* code ATTRIBUTE_UNUSED, in PatchEntrypointCall() 44 void X86_64RelativePatcher::PatchBakerReadBarrierBranch(std::vector<uint8_t>* code ATTRIBUTE_UNUSED, in PatchBakerReadBarrierBranch()
|
D | relative_patcher_x86_64.h | 29 void PatchPcRelativeReference(std::vector<uint8_t>* code, 33 void PatchEntrypointCall(std::vector<uint8_t>* code, 36 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
|
/art/dex2oat/linker/ |
D | multi_oat_relative_patcher.h | 98 void PatchCall(std::vector<uint8_t>* code, in PatchCall() argument 104 relative_patcher_->PatchCall(code, literal_offset, patch_offset, target_offset); in PatchCall() 108 void PatchPcRelativeReference(std::vector<uint8_t>* code, in PatchPcRelativeReference() argument 114 relative_patcher_->PatchPcRelativeReference(code, patch, patch_offset, target_offset); in PatchPcRelativeReference() 117 void PatchEntrypointCall(std::vector<uint8_t>* code, in PatchEntrypointCall() argument 121 relative_patcher_->PatchEntrypointCall(code, patch, patch_offset); in PatchEntrypointCall() 124 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code, in PatchBakerReadBarrierBranch() argument 128 relative_patcher_->PatchBakerReadBarrierBranch(code, patch, patch_offset); in PatchBakerReadBarrierBranch() 148 /*out*/ ArrayRef<const uint8_t>* code,
|
D | image_test.cc | 129 const void* code = origin->GetEntryPointFromQuickCompiledCodePtrSize(pointer_size); in TEST_F() local 131 ASSERT_NE(nullptr, code); in TEST_F() 132 ASSERT_FALSE(class_linker_->IsQuickToInterpreterBridge(code)); in TEST_F() 139 ASSERT_EQ(code, copied->GetEntryPointFromQuickCompiledCodePtrSize(pointer_size)); in TEST_F() 152 code = origin->GetEntryPointFromQuickCompiledCodePtrSize(pointer_size); in TEST_F() 154 ASSERT_NE(nullptr, code); in TEST_F() 155 ASSERT_FALSE(class_linker_->IsQuickToInterpreterBridge(code)); in TEST_F() 161 code = copied->GetEntryPointFromQuickCompiledCodePtrSize(pointer_size); in TEST_F() 163 ASSERT_TRUE(class_linker_->IsQuickToInterpreterBridge(code)); in TEST_F()
|
D | relative_patcher_test.h | 103 const ArrayRef<const uint8_t>& code, 109 code, 136 const auto code = compiled_method->GetQuickCode(); in Link() local 137 offset += code.size(); in Link() 167 ArrayRef<const uint8_t> code = compiled_method->GetQuickCode(); in Link() local 169 patched_code_.assign(code.begin(), code.end()); in Link() 170 code = ArrayRef<const uint8_t>(patched_code_); in Link() 208 out_->WriteFully(&code[0], code.size()); in Link() 209 offset += code.size(); in Link() 282 ArrayRef<const uint8_t> code, in SetThunkCode() argument [all …]
|
D | relative_patcher.h | 55 /*out*/ ArrayRef<const uint8_t>* code, 129 virtual void PatchCall(std::vector<uint8_t>* code, 135 virtual void PatchPcRelativeReference(std::vector<uint8_t>* code, 141 virtual void PatchEntrypointCall(std::vector<uint8_t>* code, 146 virtual void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
|
/art/test/518-null-array-get/ |
D | info.txt | 2 instructions in dead code after aget on null, but pass 3 type-safe dead code. 7 compiler crashes. As broken code appears very uncommon, 9 code.
|
/art/dexlayout/ |
D | dexlayout.h | 137 void DumpBytecodes(uint32_t idx, const dex_ir::CodeItem* code, uint32_t code_offset); 138 void DumpCatches(const dex_ir::CodeItem* code); 143 const dex_ir::CodeItem* code, 153 void DumpInstruction(const dex_ir::CodeItem* code, 159 void DumpLocalInfo(const dex_ir::CodeItem* code); 163 const dex_ir::CodeItem* code, 165 void DumpPositionInfo(const dex_ir::CodeItem* code); 186 void DumpCFG(const DexFile* dex_file, uint32_t dex_method_idx, const dex::CodeItem* code);
|
/art/libdexfile/external/ |
D | dex_file_ext.cc | 63 art::CodeItemInstructionAccessor code = method.GetInstructions(); in FindMethod() local 64 if (!code.HasCodeItem()) { in FindMethod() 67 size_t offset = reinterpret_cast<const uint8_t*>(code.Insns()) - dex_file_->Begin(); in FindMethod() 68 size_t size = code.InsnsSizeInBytes(); in FindMethod() 89 art::CodeItemInstructionAccessor code = method.GetInstructions(); in CreateClassCache() local 90 if (code.HasCodeItem()) { in CreateClassCache() 91 int32_t offset = reinterpret_cast<const uint8_t*>(code.Insns()) - dex_file_->Begin(); in CreateClassCache() 93 cache.emplace_back(offset + code.InsnsSizeInBytes(), accessor.GetClassDefIndex()); in CreateClassCache() 241 art::CodeItemInstructionAccessor code = method.GetInstructions(); in ADexFile_forEachMethod() local 242 if (code.HasCodeItem()) { in ADexFile_forEachMethod() [all …]
|
/art/test/dexdump/ |
D | all.txt | 108 code - 112 insns size : 4 16-bit code units 125 code - 129 insns size : 29 16-bit code units 155 code - 159 insns size : 65 16-bit code units 203 code - 207 insns size : 33 16-bit code units 251 code - 255 insns size : 17 16-bit code units [all …]
|
/art/compiler/trampolines/ |
D | trampoline_compiler.cc | 80 MemoryRegion code(entry_stub->data(), entry_stub->size()); in CreateTrampoline() local 81 __ FinalizeInstructions(code); in CreateTrampoline() 122 MemoryRegion code(entry_stub->data(), entry_stub->size()); in CreateTrampoline() local 123 __ FinalizeInstructions(code); in CreateTrampoline() 143 MemoryRegion code(entry_stub->data(), entry_stub->size()); in CreateTrampoline() local 144 __ FinalizeInstructions(code); in CreateTrampoline() 164 MemoryRegion code(entry_stub->data(), entry_stub->size()); in CreateTrampoline() local 165 __ FinalizeInstructions(code); in CreateTrampoline()
|
/art/compiler/driver/ |
D | compiled_method_storage.cc | 130 ThunkMapValue(std::vector<uint8_t, SwapAllocator<uint8_t>>&& code, in ThunkMapValue() argument 132 : code_(std::move(code)), debug_name_(debug_name) {} in ThunkMapValue() 178 const ArrayRef<const uint8_t>& code) { in DeduplicateCode() argument 179 return AllocateOrDeduplicateArray(code, &dedupe_code_); in DeduplicateCode() 182 void CompiledMethodStorage::ReleaseCode(const LengthPrefixedArray<uint8_t>* code) { in ReleaseCode() argument 183 ReleaseArrayIfNotDeduplicated(code); in ReleaseCode() 256 ArrayRef<const uint8_t> code, in SetThunkCode() argument 258 DCHECK(!code.empty()); in SetThunkCode() 261 code.begin(), code.end(), SwapAllocator<uint8_t>(swap_space_.get())); in SetThunkCode()
|