/art/runtime/ |
D | dex_instruction_utils.h | 82 constexpr bool IsInstructionIGet(Instruction::Code code) { in IsInstructionIGet() argument 83 return Instruction::IGET <= code && code <= Instruction::IGET_SHORT; in IsInstructionIGet() 86 constexpr bool IsInstructionIPut(Instruction::Code code) { in IsInstructionIPut() argument 87 return Instruction::IPUT <= code && code <= Instruction::IPUT_SHORT; in IsInstructionIPut() 90 constexpr bool IsInstructionSGet(Instruction::Code code) { in IsInstructionSGet() argument 91 return Instruction::SGET <= code && code <= Instruction::SGET_SHORT; in IsInstructionSGet() 94 constexpr bool IsInstructionSPut(Instruction::Code code) { in IsInstructionSPut() argument 95 return Instruction::SPUT <= code && code <= Instruction::SPUT_SHORT; in IsInstructionSPut() 98 constexpr bool IsInstructionAGet(Instruction::Code code) { in IsInstructionAGet() argument 99 return Instruction::AGET <= code && code <= Instruction::AGET_SHORT; in IsInstructionAGet() [all …]
|
D | oat_file-inl.h | 25 const void* code = ArtMethod::EntryPointToCodePointer(GetQuickCode()); in GetOatQuickMethodHeader() local 26 if (code == nullptr) { in GetOatQuickMethodHeader() 30 return reinterpret_cast<const OatQuickMethodHeader*>(code) - 1; in GetOatQuickMethodHeader() 42 const void* code = ArtMethod::EntryPointToCodePointer(GetQuickCode()); in GetQuickCodeSize() local 43 if (code == nullptr) { in GetQuickCodeSize() 46 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].code_size_; in GetQuickCodeSize() 58 const void* code = ArtMethod::EntryPointToCodePointer(GetQuickCode()); in GetFrameSizeInBytes() local 59 if (code == nullptr) { in GetFrameSizeInBytes() 62 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].frame_info_.FrameSizeInBytes(); in GetFrameSizeInBytes() 66 const void* code = ArtMethod::EntryPointToCodePointer(GetQuickCode()); in GetCoreSpillMask() local [all …]
|
D | art_method.cc | 305 const void* code = GetEntryPointFromQuickCompiledCode(); in AssertPcIsWithinQuickCode() local 306 if (code == GetQuickInstrumentationEntryPoint()) { in AssertPcIsWithinQuickCode() 310 if (class_linker->IsQuickToInterpreterBridge(code) || in AssertPcIsWithinQuickCode() 311 class_linker->IsQuickResolutionStub(code)) { in AssertPcIsWithinQuickCode() 318 jit->GetCodeCache()->ContainsCodePtr(reinterpret_cast<const void*>(code))) { in AssertPcIsWithinQuickCode() 328 CHECK(PcIsWithinQuickCode(reinterpret_cast<uintptr_t>(code), pc)) in AssertPcIsWithinQuickCode() 331 << " code=" << code in AssertPcIsWithinQuickCode() 333 EntryPointToCodePointer(reinterpret_cast<const void*>(code))); in AssertPcIsWithinQuickCode() 348 const void* code = runtime->GetInstrumentation()->GetQuickCodeFor(this, pointer_size); in GetQuickOatEntryPoint() local 352 if (class_linker->IsQuickToInterpreterBridge(code) || in GetQuickOatEntryPoint() [all …]
|
D | dex_instruction_visitor.h | 28 void Visit(const uint16_t* code, size_t size_in_bytes) { in Visit() argument 33 const Instruction* inst = Instruction::At(&code[i]); in Visit()
|
/art/compiler/linker/x86/ |
D | relative_patcher_x86.cc | 24 void X86RelativePatcher::PatchDexCacheReference(std::vector<uint8_t>* code, in PatchDexCacheReference() argument 33 DCHECK_LT(anchor_literal_offset, code->size()); in PatchDexCacheReference() 34 DCHECK_EQ((*code)[anchor_literal_offset - 5u], 0xe8u); in PatchDexCacheReference() 35 DCHECK_EQ((*code)[anchor_literal_offset - 4u], 0x00u); in PatchDexCacheReference() 36 DCHECK_EQ((*code)[anchor_literal_offset - 3u], 0x00u); in PatchDexCacheReference() 37 DCHECK_EQ((*code)[anchor_literal_offset - 2u], 0x00u); in PatchDexCacheReference() 38 DCHECK_EQ((*code)[anchor_literal_offset - 1u], 0x00u); in PatchDexCacheReference() 39 DCHECK_EQ((*code)[anchor_literal_offset] & 0xf8u, 0x58u); in PatchDexCacheReference() 43 DCHECK_LE(literal_offset, code->size()); in PatchDexCacheReference() 44 DCHECK_EQ((*code)[literal_offset + 0u], static_cast<uint8_t>(kDummy32BitOffset >> 0)); in PatchDexCacheReference() [all …]
|
D | relative_patcher_x86_base.cc | 37 void X86BaseRelativePatcher::PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, in PatchCall() argument 39 DCHECK_LE(literal_offset + 4u, code->size()); in PatchCall() 45 reinterpret_cast<unaligned_int32_t*>(&(*code)[literal_offset])[0] = displacement; in PatchCall()
|
D | relative_patcher_x86_test.cc | 113 ArrayRef<const uint8_t> code(raw_code); in TEST_F() local 115 LinkerPatch::DexCacheArrayPatch(code.size() - 4u, nullptr, anchor_offset, kElementOffset), in TEST_F() 117 AddCompiledMethod(MethodRef(1u), code, ArrayRef<const LinkerPatch>(patches)); in TEST_F()
|
/art/compiler/linker/arm/ |
D | relative_patcher_thumb2.cc | 31 void Thumb2RelativePatcher::PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, in PatchCall() argument 33 DCHECK_LE(literal_offset + 4u, code->size()); in PatchCall() 52 DCHECK_EQ(GetInsn32(code, literal_offset) & 0xf800d000, 0xf000d000); in PatchCall() 54 SetInsn32(code, literal_offset, value); in PatchCall() 57 void Thumb2RelativePatcher::PatchDexCacheReference(std::vector<uint8_t>* code, in PatchDexCacheReference() argument 66 uint32_t insn = GetInsn32(code, literal_offset); in PatchDexCacheReference() 74 SetInsn32(code, literal_offset, insn); in PatchDexCacheReference() 86 MemoryRegion code(thunk_code.data(), thunk_code.size()); in CompileThunkCode() local 87 assembler.FinalizeInstructions(code); in CompileThunkCode() 91 void Thumb2RelativePatcher::SetInsn32(std::vector<uint8_t>* code, uint32_t offset, uint32_t value) { in SetInsn32() argument [all …]
|
D | relative_patcher_thumb2.h | 29 void PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, 31 void PatchDexCacheReference(std::vector<uint8_t>* code, const LinkerPatch& patch, 37 void SetInsn32(std::vector<uint8_t>* code, uint32_t offset, uint32_t value); 38 static uint32_t GetInsn32(ArrayRef<const uint8_t> code, uint32_t offset); 41 static uint32_t GetInsn32(std::vector<uint8_t, Alloc>* code, uint32_t offset);
|
/art/compiler/linker/arm64/ |
D | relative_patcher_arm64.cc | 76 ArrayRef<const uint8_t> code(*compiled_method->GetQuickCode()); in ReserveSpace() local 77 uint32_t thunk_offset = compiled_method->AlignCode(quick_code_offset + code.size()); in ReserveSpace() 83 if (NeedsErratum843419Thunk(code, patch.LiteralOffset(), patch_offset)) { in ReserveSpace() 133 void Arm64RelativePatcher::PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, in PatchCall() argument 135 DCHECK_LE(literal_offset + 4u, code->size()); in PatchCall() 146 DCHECK_EQ(GetInsn(code, literal_offset) & 0xfc000000u, 0x94000000u); in PatchCall() 148 SetInsn(code, literal_offset, insn); in PatchCall() 151 void Arm64RelativePatcher::PatchDexCacheReference(std::vector<uint8_t>* code, in PatchDexCacheReference() argument 158 uint32_t insn = GetInsn(code, literal_offset); in PatchDexCacheReference() 169 DCHECK(NeedsErratum843419Thunk(ArrayRef<const uint8_t>(*code), in PatchDexCacheReference() [all …]
|
D | relative_patcher_arm64.h | 35 void PatchCall(std::vector<uint8_t>* code, uint32_t literal_offset, 37 void PatchDexCacheReference(std::vector<uint8_t>* code, const LinkerPatch& patch, 44 static bool NeedsErratum843419Thunk(ArrayRef<const uint8_t> code, uint32_t literal_offset, 46 void SetInsn(std::vector<uint8_t>* code, uint32_t offset, uint32_t value); 47 static uint32_t GetInsn(ArrayRef<const uint8_t> code, uint32_t offset); 50 static uint32_t GetInsn(std::vector<uint8_t, Alloc>* code, uint32_t offset);
|
/art/compiler/utils/ |
D | assembler_thumb_test.cc | 66 void dump(std::vector<uint8_t>& code, const char* testname) { in dump() argument 96 for (uint32_t i = 0 ; i < code.size(); ++i) { in dump() 97 out << ".byte " << (static_cast<int>(code[i]) & 0xff) << "\n"; in dump() 172 MemoryRegion code(&managed_code[0], managed_code.size()); in TEST() local 173 __ FinalizeInstructions(code); in TEST() 187 MemoryRegion code(&managed_code[0], managed_code.size()); in TEST() local 188 __ FinalizeInstructions(code); in TEST() 202 MemoryRegion code(&managed_code[0], managed_code.size()); in TEST() local 203 __ FinalizeInstructions(code); in TEST() 249 MemoryRegion code(&managed_code[0], managed_code.size()); in TEST() local [all …]
|
D | assembler_test_base.h | 109 if (data == *res.code) { in Driver() 112 if (DisassembleBinaries(data, *res.code, test_name)) { in Driver() 113 if (data.size() > res.code->size()) { in Driver() 117 ", gcc size=" << res.code->size(); in Driver() 126 EXPECT_EQ(*res.code, data) << "Outputs (and disassembly) not identical."; in Driver() 189 std::unique_ptr<std::vector<uint8_t>> code; member 362 res->code.reset(nullptr); in Compile() 411 res->code.reset(new std::vector<uint8_t>(res->length)); in Compile() 412 obj.read(reinterpret_cast<char*>(&(*res->code)[0]), res->length); in Compile()
|
/art/compiler/utils/arm64/ |
D | assembler_arm64.h | 185 static vixl::Register reg_x(int code) { in reg_x() argument 186 CHECK(code < kNumberOfXRegisters) << code; in reg_x() 187 if (code == SP) { in reg_x() 189 } else if (code == XZR) { in reg_x() 192 return vixl::Register::XRegFromCode(code); in reg_x() 195 static vixl::Register reg_w(int code) { in reg_w() argument 196 CHECK(code < kNumberOfWRegisters) << code; in reg_w() 197 if (code == WSP) { in reg_w() 199 } else if (code == WZR) { in reg_w() 202 return vixl::Register::WRegFromCode(code); in reg_w() [all …]
|
/art/compiler/trampolines/ |
D | trampoline_compiler.cc | 51 MemoryRegion code(&(*entry_stub)[0], entry_stub->size()); in CreateTrampoline() local 52 assembler->FinalizeInstructions(code); in CreateTrampoline() 88 MemoryRegion code(&(*entry_stub)[0], entry_stub->size()); in CreateTrampoline() local 89 assembler->FinalizeInstructions(code); in CreateTrampoline() 117 MemoryRegion code(&(*entry_stub)[0], entry_stub->size()); in CreateTrampoline() local 118 assembler->FinalizeInstructions(code); in CreateTrampoline() 146 MemoryRegion code(&(*entry_stub)[0], entry_stub->size()); in CreateTrampoline() local 147 assembler->FinalizeInstructions(code); in CreateTrampoline() 163 MemoryRegion code(&(*entry_stub)[0], entry_stub->size()); in CreateTrampoline() local 164 assembler->FinalizeInstructions(code); in CreateTrampoline() [all …]
|
/art/compiler/linker/x86_64/ |
D | relative_patcher_x86_64.cc | 24 void X86_64RelativePatcher::PatchDexCacheReference(std::vector<uint8_t>* code, in PatchDexCacheReference() argument 27 DCHECK_LE(patch.LiteralOffset() + 4u, code->size()); in PatchDexCacheReference() 33 reinterpret_cast<unaligned_int32_t*>(&(*code)[patch.LiteralOffset()])[0] = displacement; in PatchDexCacheReference()
|
/art/compiler/optimizing/ |
D | common_arm64.h | 34 static inline int VIXLRegCodeFromART(int code) { in VIXLRegCodeFromART() argument 35 if (code == SP) { in VIXLRegCodeFromART() 38 if (code == XZR) { in VIXLRegCodeFromART() 41 return code; in VIXLRegCodeFromART() 44 static inline int ARTRegCodeFromVIXL(int code) { in ARTRegCodeFromVIXL() argument 45 if (code == vixl::kSPRegInternalCode) { in ARTRegCodeFromVIXL() 48 if (code == vixl::kZeroRegCode) { in ARTRegCodeFromVIXL() 51 return code; in ARTRegCodeFromVIXL() 163 return Location::RegisterLocation(ARTRegCodeFromVIXL(reg.code())); in LocationFrom() 167 return Location::FpuRegisterLocation(fpreg.code()); in LocationFrom()
|
/art/compiler/linker/ |
D | relative_patcher_test.h | 71 const ArrayRef<const uint8_t>& code, in AddCompiledMethod() argument 75 &driver_, instruction_set_, code, in AddCompiledMethod() 95 const auto& code = *compiled_method->GetQuickCode(); in Link() local 96 offset += code.size(); in Link() 127 ArrayRef<const uint8_t> code(*compiled_method->GetQuickCode()); in Link() 129 patched_code_.assign(code.begin(), code.end()); in Link() 130 code = ArrayRef<const uint8_t>(patched_code_); in Link() 147 out_.WriteFully(&code[0], code.size()); in Link() 148 offset += code.size(); in Link()
|
/art/test/076-boolean-put/ |
D | info.txt | 1 This checks a case where javac generates code that stores a byte into a 2 boolean field. The code as generated should not pass the verifier, so the
|
/art/test/090-loop-formation/ |
D | info.txt | 1 Test loop formation heuristics and code generation. Basically the problem to 2 catch here is to make sure that some never-exercised code blocks are included
|
/art/runtime/arch/x86_64/ |
D | thread_x86_64.cc | 33 static void arch_prctl(int code, void* val) { in arch_prctl() argument 34 syscall(__NR_arch_prctl, code, val); in arch_prctl()
|
/art/runtime/jit/ |
D | jit_code_cache.cc | 97 const void* code = method->GetEntryPointFromQuickCompiledCode(); in GetCodeFor() local 98 if (ContainsCodePtr(code)) { in GetCodeFor() 99 return code; in GetCodeFor()
|
/art/compiler/dex/quick/mips/ |
D | README.mips | 8 the vast majority of code for Mips support is either shared with other 17 code generation for switch tables, fill array data, 64-bit 36 don't need def/use bits because they are never modified by code 47 slot and adjust the displacement. However, given that code expansion is 54 for Arm and x86. It might make sense to replace the inline code generation
|
/art/test/701-easy-div-rem/ |
D | genMain.py | 70 code = \ variable 155 f.write(code)
|
/art/runtime/base/unix_file/ |
D | README | 10 This code will not log, because it can't know whether that's appropriate in 13 This code will, in general, return -errno on failure. If an operation consisted
|