Home
last modified time | relevance | path

Searched refs:code_item (Results 1 – 25 of 46) 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.cc61 dex_ir::CodeItem* code_item = method.GetCodeItem(); in WriteDebugInfoOffsetTable() local
62 if (code_item != nullptr && code_item->DebugInfo() != nullptr) { in WriteDebugInfoOffsetTable()
63 const uint32_t debug_info_offset = code_item->DebugInfo()->GetOffset(); in WriteDebugInfoOffsetTable()
143 dex_ir::CodeItem* code_item, in WriteCodeItem() argument
145 DCHECK(code_item != nullptr); in WriteCodeItem()
148 code_item, in WriteCodeItem()
157 code_item->RegistersSize(), in WriteCodeItem()
158 code_item->InsSize(), in WriteCodeItem()
159 code_item->OutsSize(), in WriteCodeItem()
160 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()
Ddex_ir_builder.cc905 CodeItem* code_item = header_->CodeItems().CreateAndAddItem(accessor.RegistersSize(), in DedupeOrCreateCodeItem() local
913 code_item->SetSize(size); in DedupeOrCreateCodeItem()
916 DCHECK(!code_item->OffsetAssigned()); in DedupeOrCreateCodeItem()
918 code_item->SetOffset(offset); in DedupeOrCreateCodeItem()
920 code_items_map_.emplace(offsets_pair, code_item); in DedupeOrCreateCodeItem()
929 if (GetIdsFromByteCode(code_item, in DedupeOrCreateCodeItem()
938 code_item->SetCodeFixups(fixups); in DedupeOrCreateCodeItem()
941 return code_item; in DedupeOrCreateCodeItem()
1232 CodeItem* code_item = DedupeOrCreateCodeItem(dex_file, in GenerateMethodItem() local
1236 return MethodItem(access_flags, method_id, code_item); in GenerateMethodItem()
/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()
Ddex_compilation_unit.h41 const dex::CodeItem* code_item,
/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.h61 virtual CompiledMethod* Compile(const dex::CodeItem* code_item,
96 static bool IsPathologicalCase(const dex::CodeItem& code_item,
/art/runtime/verifier/
Dmethod_verifier.h127 const dex::CodeItem* code_item, ArtMethod* method,
230 const dex::CodeItem* code_item,
268 const dex::CodeItem* code_item,
291 const dex::CodeItem* code_item,
315 const dex::CodeItem* code_item,
/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()
Ddexanalyze_bytecode.h67 const CodeItemDataAccessor& 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/compiler/optimizing/
Doptimizing_compiler.cc279 CompiledMethod* Compile(const dex::CodeItem* code_item,
756 const dex::CodeItem* code_item = dex_compilation_unit.GetCodeItem(); in TryCompile() local
769 if (Compiler::IsPathologicalCase(*code_item, method_idx, dex_file)) { in TryCompile()
778 && (CodeItemInstructionAccessor(dex_file, code_item).InsnsSizeInCodeUnits() > in TryCompile()
784 CodeItemDebugInfoAccessor code_item_accessor(dex_file, code_item, method_idx); in TryCompile()
1007 CompiledMethod* OptimizingCompiler::Compile(const dex::CodeItem* code_item, in Compile() argument
1044 code_item, in Compile()
1086 compiled_intrinsic ? nullptr : code_item); in Compile()
1246 const dex::CodeItem* code_item = method->GetCodeItem(); in JitCompile() local
1290 info.code_item = code_item; in JitCompile()
[all …]
/art/runtime/interpreter/mterp/armng/
Dmain.S337 .macro FETCH_CODE_ITEM_INFO code_item, registers, outs, ins, load_ins
338 tst \code_item, #1
340 bic \code_item, \code_item, #1 // Remove the extra bit that marks it's a compact dex file
341 ldrh lr, [\code_item, #COMPACT_CODE_ITEM_FIELDS_OFFSET]
351 ldrh lr, [\code_item, #COMPACT_CODE_ITEM_FLAGS_OFFSET]
354 mov ip, \code_item
363 ldrh lr, [\code_item, #COMPACT_CODE_ITEM_FLAGS_OFFSET]
373 ldrh lr, [\code_item, #COMPACT_CODE_ITEM_FLAGS_OFFSET]
383 add \code_item, \code_item, #COMPACT_CODE_ITEM_INSNS_OFFSET
387 ldrh \registers, [\code_item, #CODE_ITEM_REGISTERS_SIZE_OFFSET]
[all …]
/art/runtime/interpreter/mterp/arm64ng/
Dmain.S318 .macro FETCH_CODE_ITEM_INFO code_item, registers, outs, ins, load_ins
319 tbz \code_item, #0, 4f
320 and \code_item, \code_item, #-2 // Remove the extra bit that marks it's a compact dex file
321 ldrh w13, [\code_item, #COMPACT_CODE_ITEM_FIELDS_OFFSET]
330 ldrh w13, [\code_item, #COMPACT_CODE_ITEM_FLAGS_OFFSET]
333 sub x14, \code_item, #4
335 csel x14, x14, \code_item, ne
356 add \code_item, \code_item, #COMPACT_CODE_ITEM_INSNS_OFFSET
360 ldrh \registers, [\code_item, #CODE_ITEM_REGISTERS_SIZE_OFFSET]
362 ldrh \outs, [\code_item, #CODE_ITEM_OUTS_SIZE_OFFSET]
[all …]
/art/runtime/interpreter/mterp/x86_64ng/
Dmain.S282 .macro FETCH_CODE_ITEM_INFO code_item, registers, outs, ins, load_ins
283 testq MACRO_LITERAL(1), \code_item
285 andq $$-2, \code_item // Remove the extra bit that marks it's a compact dex file.
286 movzwl COMPACT_CODE_ITEM_FIELDS_OFFSET(\code_item), %r10d
303 testw $$COMPACT_CODE_ITEM_REGISTERS_INS_OUTS_FLAGS, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
305 movq \code_item, %r11
306 testw $$COMPACT_CODE_ITEM_INSNS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
310 testw $$COMPACT_CODE_ITEM_REGISTERS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
316 testw $$COMPACT_CODE_ITEM_INS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
326 testw $$COMPACT_CODE_ITEM_OUTS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
[all …]
/art/tools/cpp-define-generator/
Dasm_defines.def24 #include "code_item.def"

12