Home
last modified time | relevance | path

Searched refs:code_item (Results 1 – 25 of 47) sorted by relevance

12

/art/libdexfile/dex/
Dcode_item_accessors-inl.h39 const CompactDexFile::CodeItem& code_item) {
41 code_item.DecodeFields</*kDecodeOnlyInstructionCount*/ true>(
47 Init(insns_size_in_code_units, code_item.insns_);
52 const StandardDexFile::CodeItem& code_item) {
53 Init(code_item.insns_size_in_code_units_, code_item.insns_);
57 const dex::CodeItem* code_item) { in Init() argument
58 if (code_item != nullptr) { in Init()
59 DCHECK(dex_file.IsInDataSection(code_item)); in Init()
61 Init(down_cast<const CompactDexFile::CodeItem&>(*code_item)); in Init()
64 Init(down_cast<const StandardDexFile::CodeItem&>(*code_item)); in Init()
[all …]
Ddex_file_tracking_registrar.cc161 const dex::CodeItem* code_item = method.GetCodeItem(); in SetAllCodeItemRegistration() local
162 if (code_item != nullptr) { in SetAllCodeItemRegistration()
163 const void* code_item_begin = reinterpret_cast<const void*>(code_item); in SetAllCodeItemRegistration()
164 size_t code_item_size = dex_file_->GetCodeItemSize(*code_item); in SetAllCodeItemRegistration()
174 const dex::CodeItem* code_item = method.GetCodeItem(); in SetAllCodeItemStartRegistration() local
175 if (code_item != nullptr) { in SetAllCodeItemStartRegistration()
176 const void* code_item_begin = reinterpret_cast<const void*>(code_item); in SetAllCodeItemStartRegistration()
177 size_t code_item_start = reinterpret_cast<size_t>(code_item); in SetAllCodeItemStartRegistration()
178 CodeItemInstructionAccessor accessor(*dex_file_, code_item); in SetAllCodeItemStartRegistration()
192 const dex::CodeItem* code_item = method.GetCodeItem(); in SetAllInsnsRegistration() local
[all …]
Dcode_item_accessors.h44 const dex::CodeItem* code_item);
82 ALWAYS_INLINE void Init(const DexFile& dex_file, const dex::CodeItem* code_item);
85 ALWAYS_INLINE void Init(const DexFileCodeItemType& code_item);
99 ALWAYS_INLINE CodeItemDataAccessor(const DexFile& dex_file, const dex::CodeItem* code_item);
128 ALWAYS_INLINE void Init(const DexFile& dex_file, const dex::CodeItem* code_item);
131 ALWAYS_INLINE void Init(const DexFileCodeItemType& code_item);
149 const dex::CodeItem* code_item, in CodeItemDebugInfoAccessor() argument
151 Init(dex_file, code_item, dex_method_index); in CodeItemDebugInfoAccessor()
155 const dex::CodeItem* code_item,
181 ALWAYS_INLINE void Init(const DexFileCodeItemType& code_item, uint32_t dex_method_index);
Dcompact_dex_file_test.cc56 CompactDexFile::CodeItem* code_item = reinterpret_cast<CompactDexFile::CodeItem*>( in TEST() local
58 const uint16_t* preheader_ptr = code_item->Create(registers_size, in TEST()
63 code_item->GetPreHeader()); in TEST()
71 code_item->DecodeFields</*kDecodeOnlyInstructionCount=*/false>(&out_insns_size_in_code_units, in TEST()
83 code_item->DecodeFields</*kDecodeOnlyInstructionCount=*/true>(&out_insns_size_in_code_units, in TEST()
/art/compiler/dex/
Dinline_method_analyser.cc47 static bool Match(const CodeItemDataAccessor* code_item, MatchFn* const (&pattern)[size]);
66 explicit Matcher(const CodeItemDataAccessor* code_item) in Matcher() argument
67 : code_item_(code_item), in Matcher()
68 instruction_(code_item->begin()) {} in Matcher()
70 static bool DoMatch(const CodeItemDataAccessor* code_item, MatchFn* const* pattern, size_t size);
79 bool Matcher::Match(const CodeItemDataAccessor* code_item, MatchFn* const (&pattern)[size]) { in Match() argument
80 return DoMatch(code_item, pattern, size); in Match()
129 bool Matcher::DoMatch(const CodeItemDataAccessor* code_item, MatchFn* const* pattern, size_t size) { in DoMatch() argument
130 Matcher matcher(code_item); in DoMatch()
163 size_t CountForwardedConstructorArguments(const CodeItemDataAccessor* code_item, in CountForwardedConstructorArguments() argument
[all …]
Dinline_method_analyser.h126 static bool AnalyseMethodCode(const CodeItemDataAccessor* code_item,
132 static bool AnalyseReturnMethod(const CodeItemDataAccessor* code_item, InlineMethod* result);
133 static bool AnalyseConstMethod(const CodeItemDataAccessor* code_item, InlineMethod* result);
134 static bool AnalyseIGetMethod(const CodeItemDataAccessor* code_item,
140 static bool AnalyseIPutMethod(const CodeItemDataAccessor* code_item,
/art/dexlayout/
Dcompact_dex_writer.cc62 dex_ir::CodeItem* code_item = method.GetCodeItem(); in WriteDebugInfoOffsetTable() local
63 if (code_item != nullptr && code_item->DebugInfo() != nullptr) { in WriteDebugInfoOffsetTable()
64 const uint32_t debug_info_offset = code_item->DebugInfo()->GetOffset(); in WriteDebugInfoOffsetTable()
141 dex_ir::CodeItem* code_item, in WriteCodeItem() argument
143 DCHECK(code_item != nullptr); in WriteCodeItem()
146 code_item, in WriteCodeItem()
155 code_item->RegistersSize(), in WriteCodeItem()
156 code_item->InsSize(), in WriteCodeItem()
157 code_item->OutsSize(), in WriteCodeItem()
158 code_item->TriesSize(), in WriteCodeItem()
[all …]
Ddex_writer.cc536 dex_ir::CodeItem* code_item, in WriteCodeItemPostInstructionData() argument
538 if (code_item->TriesSize() != 0) { in WriteCodeItemPostInstructionData()
541 for (std::unique_ptr<const dex_ir::TryItem>& try_item : *code_item->Tries()) { in WriteCodeItemPostInstructionData()
552 size_t max_offset = offset + stream->WriteUleb128(code_item->Handlers()->size()); in WriteCodeItemPostInstructionData()
553 for (std::unique_ptr<const dex_ir::CatchHandler>& handlers : *code_item->Handlers()) { in WriteCodeItemPostInstructionData()
572 dex_ir::CodeItem* code_item, in WriteCodeItem() argument
574 DCHECK(code_item != nullptr); in WriteCodeItem()
577 ProcessOffset(stream, code_item); in WriteCodeItem()
581 disk_code_item.registers_size_ = code_item->RegistersSize(); in WriteCodeItem()
582 disk_code_item.ins_size_ = code_item->InsSize(); in WriteCodeItem()
[all …]
Ddex_visualize.cc188 const dex_ir::CodeItem* code_item = method->GetCodeItem(); in DumpMethodItem() local
189 if (code_item != nullptr) { in DumpMethodItem()
190 DumpAddressRange(code_item, class_index); in DumpMethodItem()
191 const dex_ir::CodeFixups* fixups = code_item->GetCodeFixups(); in DumpMethodItem()
/art/compiler/driver/
Ddex_compilation_unit.cc33 const dex::CodeItem* code_item, in DexCompilationUnit() argument
43 code_item_(code_item), in DexCompilationUnit()
49 code_item_accessor_(dex_file, code_item), in DexCompilationUnit()
/art/compiler/
Dcompiler.cc48 bool Compiler::IsPathologicalCase(const dex::CodeItem& code_item, in IsPathologicalCase() argument
56 CodeItemDataAccessor accessor(dex_file, &code_item); in IsPathologicalCase()
Dcompiler.h60 virtual CompiledMethod* Compile(const dex::CodeItem* code_item,
96 static bool IsPathologicalCase(const dex::CodeItem& code_item,
/art/runtime/
Ddex_to_dex_decompiler.cc35 const dex::CodeItem& code_item, in DexDecompiler() argument
38 : code_item_accessor_(dex_file, &code_item), in DexDecompiler()
197 const dex::CodeItem& code_item, in ArtDecompileDEX() argument
203 DexDecompiler decompiler(dex_file, code_item, quickened_info, decompile_return_instruction); in ArtDecompileDEX()
Ddex_to_dex_decompiler.h39 const dex::CodeItem& code_item,
Dvdex_file.cc330 const dex::CodeItem* code_item = method.GetCodeItem(); in UnquickenDexFile() local
331 if (code_item != nullptr && unquickened_code_item.emplace(code_item).second) { in UnquickenDexFile()
338 *code_item, in UnquickenDexFile()
/art/runtime/verifier/
Dmethod_verifier.h126 const dex::CodeItem* code_item, ArtMethod* method,
220 const dex::CodeItem* code_item,
257 const dex::CodeItem* code_item,
279 const dex::CodeItem* code_item,
302 const dex::CodeItem* code_item,
/art/dex2oat/dex/
Ddex_to_dex_compiler.cc508 const dex::CodeItem* code_item, in CompileMethod() argument
527 code_item, in CompileMethod()
537 if (UNLIKELY(shared_code_items_.find(code_item) != shared_code_items_.end())) { in CompileMethod()
547 auto existing = shared_code_item_quicken_info_.find(code_item); in CompileMethod()
580 bool inserted = shared_code_item_quicken_info_.emplace(code_item, new_state).second; in CompileMethod()
634 const dex::CodeItem* code_item = method.GetCodeItem(); in SetDexFiles() local
636 if (!seen_code_items.insert(code_item).second) { in SetDexFiles()
637 shared_code_items_.insert(code_item); in SetDexFiles()
649 const dex::CodeItem* code_item = pair.first; in UnquickenConflictingMethods() local
656 *code_item, in UnquickenConflictingMethods()
Ddex_to_dex_compiler.h57 CompiledMethod* CompileMethod(const dex::CodeItem* code_item,
/art/runtime/interpreter/mterp/
Dmterp_stub.cc46 UNUSED(self); UNUSED(shadow_frame); UNUSED(code_item); UNUSED(result_register); in ExecuteMterpImpl()
/art/compiler/debug/
Dmethod_debug_info.h35 const dex::CodeItem* code_item; member
/art/tools/dexanalyze/
Ddexanalyze_bytecode.cc218 const CodeItemDataAccessor& code_item, in ProcessCodeItem() argument
224 for (auto inst = code_item.begin(); inst != code_item.end(); ++inst) { in ProcessCodeItem()
265 uint32_t first_arg_reg = code_item.RegistersSize() - code_item.InsSize(); in ProcessCodeItem()
372 const uint32_t first_arg_reg = code_item.RegistersSize() - code_item.InsSize(); in ProcessCodeItem()
377 if (next != code_item.end()) { in ProcessCodeItem()
477 if (next != code_item.end() && next->Opcode() == Instruction::INVOKE_DIRECT) { in ProcessCodeItem()
520 << "Bytecode size " << code_item.InsnsSizeInBytes() << " -> " << buffer_.size(); in ProcessCodeItem()
Ddexanalyze_experiments.cc95 CodeItemDebugInfoAccessor code_item(*dex_file, method.GetCodeItem(), method.GetIndex()); in ProcessDexFiles() local
96 const uint8_t* debug_info = dex_file->GetDebugInfoStream(code_item.DebugInfoOffset()); in ProcessDexFiles()
313 CodeItemDataAccessor code_item(dex_file, method.GetCodeItem()); in ProcessDexFile() local
316 ? code_item.RegistersSize() - code_item.InsSize() in ProcessDexFile()
319 dex_code_bytes_ += code_item.InsnsSizeInBytes(); in ProcessDexFile()
321 for (const DexInstructionPcPair& inst : code_item) { in ProcessDexFile()
/art/compiler/optimizing/
Doptimizing_compiler.cc276 CompiledMethod* Compile(const dex::CodeItem* code_item,
747 const dex::CodeItem* code_item = dex_compilation_unit.GetCodeItem(); in TryCompile() local
760 if (Compiler::IsPathologicalCase(*code_item, method_idx, dex_file)) { in TryCompile()
769 && (CodeItemInstructionAccessor(dex_file, code_item).InsnsSizeInCodeUnits() > in TryCompile()
775 CodeItemDebugInfoAccessor code_item_accessor(dex_file, code_item, method_idx); in TryCompile()
1005 CompiledMethod* OptimizingCompiler::Compile(const dex::CodeItem* code_item, in Compile() argument
1041 code_item, in Compile()
1080 compiled_intrinsic ? nullptr : code_item); in Compile()
1229 const dex::CodeItem* code_item = dex_file->GetCodeItem(method->GetCodeItemOffset()); in JitCompile() local
1272 info.code_item = code_item; in JitCompile()
[all …]
Doptimizing_unit_test.h158 const dex::CodeItem* code_item = reinterpret_cast<const dex::CodeItem*>(aligned_data); variable
170 code_item,
176 CodeItemDebugInfoAccessor accessor(graph->GetDexFile(), code_item, /*dex_method_idx*/ 0u);
/art/tools/cpp-define-generator/
Dasm_defines.def24 #include "code_item.def"

12