Searched refs:code (Results 1 - 25 of 114) sorted by relevance

12345

/art/libdexfile/dex/
H A Ddex_instruction_utils.h92 constexpr bool IsInstructionIGet(Instruction::Code code) { argument
93 return Instruction::IGET <= code && code <= Instruction::IGET_SHORT;
96 constexpr bool IsInstructionIPut(Instruction::Code code) { argument
97 return Instruction::IPUT <= code && code <= Instruction::IPUT_SHORT;
100 constexpr bool IsInstructionSGet(Instruction::Code code) { argument
101 return Instruction::SGET <= code && code <= Instruction::SGET_SHORT;
104 constexpr bool IsInstructionSPut(Instruction::Code code) { argument
108 IsInstructionAGet(Instruction::Code code) argument
112 IsInstructionAPut(Instruction::Code code) argument
116 IsInstructionIGetOrIPut(Instruction::Code code) argument
120 IsInstructionIGetQuickOrIPutQuick(Instruction::Code code) argument
125 IsInstructionSGetOrSPut(Instruction::Code code) argument
129 IsInstructionAGetOrAPut(Instruction::Code code) argument
133 IsInstructionBinOp2Addr(Instruction::Code code) argument
149 IGetMemAccessType(Instruction::Code code) argument
154 IPutMemAccessType(Instruction::Code code) argument
159 SGetMemAccessType(Instruction::Code code) argument
164 SPutMemAccessType(Instruction::Code code) argument
169 AGetMemAccessType(Instruction::Code code) argument
174 APutMemAccessType(Instruction::Code code) argument
179 IGetOrIPutMemAccessType(Instruction::Code code) argument
184 IGetQuickOrIPutQuickMemAccessType(Instruction::Code code) argument
207 SGetOrSPutMemAccessType(Instruction::Code code) argument
212 AGetOrAPutMemAccessType(Instruction::Code code) argument
[all...]
/art/compiler/linker/x86/
H A Drelative_patcher_x86.cc25 void X86RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, argument
34 DCHECK_LT(anchor_literal_offset, code->size());
35 DCHECK_EQ((*code)[anchor_literal_offset - 5u], 0xe8u);
36 DCHECK_EQ((*code)[anchor_literal_offset - 4u], 0x00u);
37 DCHECK_EQ((*code)[anchor_literal_offset - 3u], 0x00u);
38 DCHECK_EQ((*code)[anchor_literal_offset - 2u], 0x00u);
39 DCHECK_EQ((*code)[anchor_literal_offset - 1u], 0x00u);
40 DCHECK_EQ((*code)[anchor_literal_offset] & 0xf8u, 0x58u);
45 DCHECK_LE(literal_offset, code->size());
46 DCHECK_EQ((*code)[literal_offse
[all...]
H A Drelative_patcher_x86.h29 void PatchPcRelativeReference(std::vector<uint8_t>* code,
33 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
H A Drelative_patcher_x86_base.cc44 void X86BaseRelativePatcher::PatchCall(std::vector<uint8_t>* code, argument
48 DCHECK_LE(literal_offset + 4u, code->size());
54 reinterpret_cast<unaligned_int32_t*>(&(*code)[literal_offset])[0] = displacement;
/art/test/674-hotness-compiled/
H A Drun17 ${RUN} "$@" -Xcompiler-option --count-hotness-in-compiled-code
/art/compiler/linker/mips/
H A Drelative_patcher_mips.cc41 void MipsRelativePatcher::PatchCall(std::vector<uint8_t>* code ATTRIBUTE_UNUSED,
48 void MipsRelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, argument
54 bool high_patch = ((*code)[literal_offset + 0] == 0x34) && ((*code)[literal_offset + 1] == 0x12);
60 DCHECK_EQ(((*code)[literal_offset + 2] & 0x1F), 0x1E);
61 DCHECK_EQ(((*code)[literal_offset + 3] & 0xFC), 0xEC);
64 DCHECK_EQ(((*code)[literal_offset + 2] & 0xE0), 0x00);
65 DCHECK_EQ((*code)[literal_offset + 3], 0x3C);
69 CHECK_EQ((*code)[literal_offset + 0], 0x78);
70 CHECK_EQ((*code)[literal_offse
[all...]
H A Drelative_patcher_mips.h36 void PatchCall(std::vector<uint8_t>* code,
40 void PatchPcRelativeReference(std::vector<uint8_t>* code,
44 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
/art/runtime/
H A Doat_file-inl.h26 const void* code = EntryPointToCodePointer(GetOatPointer<const void*>(code_offset_)); local
27 if (code == nullptr) {
30 // Return a pointer to the packed struct before the code.
31 return reinterpret_cast<const OatQuickMethodHeader*>(code) - 1;
51 const void* code = EntryPointToCodePointer(GetQuickCode()); local
52 if (code == nullptr) {
55 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().FrameSizeInBytes();
59 const void* code = EntryPointToCodePointer(GetQuickCode()); local
60 if (code == nullptr) {
63 return reinterpret_cast<const OatQuickMethodHeader*>(code)[
67 const void* code = EntryPointToCodePointer(GetQuickCode()); local
88 const void* code = EntryPointToCodePointer(GetOatPointer<const void*>(code_offset_)); local
100 const void* code = EntryPointToCodePointer(GetOatPointer<const void*>(code_offset_)); local
[all...]
/art/compiler/linker/mips64/
H A Drelative_patcher_mips64.cc41 void Mips64RelativePatcher::PatchCall(std::vector<uint8_t>* code ATTRIBUTE_UNUSED,
48 void Mips64RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, argument
54 bool high_patch = ((*code)[literal_offset + 0] == 0x34) && ((*code)[literal_offset + 1] == 0x12);
59 DCHECK_EQ(((*code)[literal_offset + 2] & 0x1F), 0x1E);
60 DCHECK_EQ(((*code)[literal_offset + 3] & 0xFC), 0xEC);
63 CHECK_EQ((*code)[literal_offset + 0], 0x78);
64 CHECK_EQ((*code)[literal_offset + 1], 0x56);
78 (*code)[literal_offset + 0] = static_cast<uint8_t>(diff >> 16);
79 (*code)[literal_offse
[all...]
H A Drelative_patcher_mips64.h34 void PatchCall(std::vector<uint8_t>* code,
38 void PatchPcRelativeReference(std::vector<uint8_t>* code,
42 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
/art/compiler/utils/arm64/
H A Dassembler_arm64.h72 // Finalize the code.
75 // Size of generated code.
103 // Emit code checking the status of the Marking Register, and aborting
107 // Argument `temp` is used as a temporary register to generate code.
108 // Argument `code` is used to identify the different occurrences of
110 void GenerateMarkingRegisterCheck(vixl::aarch64::Register temp, int code = 0);
119 static vixl::aarch64::Register reg_x(int code) { argument
120 CHECK(code < kNumberOfXRegisters) << code;
121 if (code
[all...]
/art/compiler/linker/x86_64/
H A Drelative_patcher_x86_64.cc25 void X86_64RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, argument
29 DCHECK_LE(patch.LiteralOffset() + 4u, code->size());
35 reinterpret_cast<unaligned_int32_t*>(&(*code)[patch.LiteralOffset()])[0] = displacement;
38 void X86_64RelativePatcher::PatchBakerReadBarrierBranch(std::vector<uint8_t>* code ATTRIBUTE_UNUSED,
H A Drelative_patcher_x86_64.h29 void PatchPcRelativeReference(std::vector<uint8_t>* code,
33 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
/art/runtime/arch/x86_64/
H A Dthread_x86_64.cc33 static void arch_prctl(int code, void* val) { argument
34 syscall(__NR_arch_prctl, code, val);
/art/dex2oat/linker/
H A Dimage_test.cc96 // Test that pointer to quick code is the same in
112 // Test the pointer to quick code is the same in origin method
120 const void* code = origin->GetEntryPointFromQuickCompiledCodePtrSize(pointer_size); local
121 // The origin method should have a pointer to quick code
122 ASSERT_NE(nullptr, code);
123 ASSERT_FALSE(class_linker_->IsQuickToInterpreterBridge(code));
129 // the copied method should have pointer to the same quick code as the origin method
130 ASSERT_EQ(code, copied->GetEntryPointFromQuickCompiledCodePtrSize(pointer_size));
132 // Test the origin method has pointer to quick code
143 code
[all...]
H A Dmulti_oat_relative_patcher.h34 // any number of oat files. It provides storage for method code offsets
49 // It must must never point directly to a method's code to avoid relative offsets
95 void PatchCall(std::vector<uint8_t>* code, argument
101 relative_patcher_->PatchCall(code, literal_offset, patch_offset, target_offset);
105 void PatchPcRelativeReference(std::vector<uint8_t>* code, argument
111 relative_patcher_->PatchPcRelativeReference(code, patch, patch_offset, target_offset);
114 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code, argument
118 relative_patcher_->PatchBakerReadBarrierBranch(code, patch, patch_offset);
/art/compiler/linker/arm/
H A Drelative_patcher_thumb2.cc55 void Thumb2RelativePatcher::PatchCall(std::vector<uint8_t>* code, argument
59 DCHECK_LE(literal_offset + 4u, code->size());
78 DCHECK_EQ(GetInsn32(code, literal_offset) & 0xf800d000, 0xf000d000);
80 SetInsn32(code, literal_offset, value);
83 void Thumb2RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, argument
92 uint32_t insn = GetInsn32(code, literal_offset);
100 SetInsn32(code, literal_offset, insn);
103 void Thumb2RelativePatcher::PatchBakerReadBarrierBranch(std::vector<uint8_t>* code, argument
109 DCHECK_LT(literal_offset, code->size());
110 uint32_t insn = GetInsn32(code, literal_offse
443 SetInsn32(std::vector<uint8_t>* code, uint32_t offset, uint32_t value) argument
453 GetInsn32(ArrayRef<const uint8_t> code, uint32_t offset) argument
465 GetInsn32(Vector* code, uint32_t offset) argument
470 GetInsn16(ArrayRef<const uint8_t> code, uint32_t offset) argument
478 GetInsn16(Vector* code, uint32_t offset) argument
[all...]
H A Drelative_patcher_thumb2.h73 void PatchCall(std::vector<uint8_t>* code,
77 void PatchPcRelativeReference(std::vector<uint8_t>* code,
81 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
128 void SetInsn32(std::vector<uint8_t>* code, uint32_t offset, uint32_t value);
129 static uint32_t GetInsn32(ArrayRef<const uint8_t> code, uint32_t offset);
132 static uint32_t GetInsn32(Vector* code, uint32_t offset);
134 static uint32_t GetInsn16(ArrayRef<const uint8_t> code, uint32_t offset);
137 static uint32_t GetInsn16(Vector* code, uint32_t offset);
/art/dexlayout/
H A Ddexlayout.h136 void DumpBytecodes(uint32_t idx, const dex_ir::CodeItem* code, uint32_t code_offset);
137 void DumpCatches(const dex_ir::CodeItem* code);
142 const dex_ir::CodeItem* code,
152 void DumpInstruction(const dex_ir::CodeItem* code,
158 void DumpLocalInfo(const dex_ir::CodeItem* code);
159 void DumpMethod(uint32_t idx, uint32_t flags, const dex_ir::CodeItem* code, int i);
160 void DumpPositionInfo(const dex_ir::CodeItem* code);
177 void DumpCFG(const DexFile* dex_file, uint32_t dex_method_idx, const DexFile::CodeItem* code);
/art/compiler/linker/arm64/
H A Drelative_patcher_arm64.h65 void PatchCall(std::vector<uint8_t>* code,
69 void PatchPcRelativeReference(std::vector<uint8_t>* code,
73 void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
111 static bool NeedsErratum843419Thunk(ArrayRef<const uint8_t> code, uint32_t literal_offset,
113 void SetInsn(std::vector<uint8_t>* code, uint32_t offset, uint32_t value);
114 static uint32_t GetInsn(ArrayRef<const uint8_t> code, uint32_t offset);
117 static uint32_t GetInsn(std::vector<uint8_t, Alloc>* code, uint32_t offset);
H A Drelative_patcher_arm64.cc123 ArrayRef<const uint8_t> code = compiled_method->GetQuickCode(); local
124 uint32_t max_extra_space = MaxExtraSpace(num_adrp, code.size());
130 // Now that we have the actual offset where the code will be placed, locate the ADRP insns
133 uint32_t thunk_offset = compiled_method->AlignCode(quick_code_offset + code.size());
138 if (NeedsErratum843419Thunk(code, patch.LiteralOffset(), patch_offset)) {
189 void Arm64RelativePatcher::PatchCall(std::vector<uint8_t>* code, argument
193 DCHECK_LE(literal_offset + 4u, code->size());
204 DCHECK_EQ(GetInsn(code, literal_offset) & 0xfc000000u, 0x94000000u);
206 SetInsn(code, literal_offset, insn);
209 void Arm64RelativePatcher::PatchPcRelativeReference(std::vector<uint8_t>* code, argument
308 PatchBakerReadBarrierBranch(std::vector<uint8_t>* code, const LinkerPatch& patch, uint32_t patch_offset) argument
606 NeedsErratum843419Thunk(ArrayRef<const uint8_t> code, uint32_t literal_offset, uint32_t patch_offset) argument
656 SetInsn(std::vector<uint8_t>* code, uint32_t offset, uint32_t value) argument
666 GetInsn(ArrayRef<const uint8_t> code, uint32_t offset) argument
678 GetInsn(std::vector<uint8_t, Alloc>* code, uint32_t offset) argument
[all...]
/art/compiler/linker/
H A Drelative_patcher.h104 // Patch method code. The input displacement is relative to the patched location,
106 virtual void PatchCall(std::vector<uint8_t>* code,
112 virtual void PatchPcRelativeReference(std::vector<uint8_t>* code,
118 virtual void PatchBakerReadBarrierBranch(std::vector<uint8_t>* code,
H A Drelative_patcher_test.h79 const ArrayRef<const uint8_t>& code,
85 code,
96 // We want to align the code rather than the preheader.
116 const auto code = compiled_method->GetQuickCode(); local
117 offset += code.size();
147 ArrayRef<const uint8_t> code = compiled_method->GetQuickCode(); local
149 patched_code_.assign(code.begin(), code.end());
150 code = ArrayRef<const uint8_t>(patched_code_);
182 out_.WriteFully(&code[
77 AddCompiledMethod( MethodReference method_ref, const ArrayRef<const uint8_t>& code, const ArrayRef<const LinkerPatch>& patches = ArrayRef<const LinkerPatch>()) argument
[all...]
/art/compiler/trampolines/
H A Dtrampoline_compiler.cc87 MemoryRegion code(entry_stub->data(), entry_stub->size());
88 __ FinalizeInstructions(code);
129 MemoryRegion code(entry_stub->data(), entry_stub->size());
130 __ FinalizeInstructions(code);
161 MemoryRegion code(entry_stub->data(), entry_stub->size());
162 __ FinalizeInstructions(code);
193 MemoryRegion code(entry_stub->data(), entry_stub->size());
194 __ FinalizeInstructions(code);
214 MemoryRegion code(entry_stub->data(), entry_stub->size());
215 __ FinalizeInstructions(code);
[all...]
/art/compiler/jni/quick/
H A Djni_compiler.h34 std::vector<uint8_t>&& code,
40 code_(std::move(code)),
33 JniCompiledMethod(InstructionSet instruction_set, std::vector<uint8_t>&& code, uint32_t frame_size, uint32_t core_spill_mask, uint32_t fp_spill_mask, ArrayRef<const uint8_t> cfi) argument

Completed in 249 milliseconds

12345