Home
last modified time | relevance | path

Searched refs:code_item (Results 1 – 25 of 42) 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()
Ddex_file_loader_test.cc620 const dex::CodeItem* code_item = raw->GetCodeItem(raw->FindCodeItemOffset(class_def, kMethodIdx)); in TEST_F() local
621 CodeItemDebugInfoAccessor accessor(*raw, code_item, kMethodIdx); in TEST_F()
/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()
162 size_t CountForwardedConstructorArguments(const CodeItemDataAccessor* code_item, in CountForwardedConstructorArguments() argument
[all …]
Dinline_method_analyser.h103 const CodeItemDataAccessor* code_item,
111 static bool AnalyseReturnMethod(const CodeItemDataAccessor* code_item, InlineMethod* result);
112 static bool AnalyseConstMethod(const CodeItemDataAccessor* code_item, InlineMethod* result);
114 const CodeItemDataAccessor* code_item,
118 const CodeItemDataAccessor* code_item,
/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.h42 const dex::CodeItem* code_item,
/art/compiler/
Dcompiler.cc37 bool Compiler::IsPathologicalCase(const dex::CodeItem& code_item, in IsPathologicalCase() argument
45 CodeItemDataAccessor accessor(dex_file, &code_item); in IsPathologicalCase()
Dcompiler.h56 virtual CompiledMethod* Compile(const dex::CodeItem* code_item,
91 static bool IsPathologicalCase(const dex::CodeItem& code_item,
/art/runtime/verifier/
Dmethod_verifier.h107 const dex::CodeItem* code_item,
204 const dex::CodeItem* code_item,
241 const dex::CodeItem* code_item,
259 const dex::CodeItem* code_item,
278 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/compiler/debug/
Dmethod_debug_info.h36 const dex::CodeItem* code_item; member
Delf_debug_line_writer.h154 CodeItemDebugInfoAccessor accessor(*dex, mi->code_item, mi->dex_method_index); in WriteCompilationUnit()
/art/compiler/optimizing/
Doptimizing_compiler.cc257 CompiledMethod* Compile(const dex::CodeItem* code_item,
771 const dex::CodeItem* code_item = dex_compilation_unit.GetCodeItem(); in TryCompile() local
784 if (Compiler::IsPathologicalCase(*code_item, method_idx, dex_file)) { in TryCompile()
794 && (CodeItemInstructionAccessor(dex_file, code_item).InsnsSizeInCodeUnits() > in TryCompile()
801 CodeItemDebugInfoAccessor code_item_accessor(dex_file, code_item, method_idx); in TryCompile()
1061 CompiledMethod* OptimizingCompiler::Compile(const dex::CodeItem* code_item, in Compile() argument
1092 code_item, in Compile()
1132 compiled_intrinsic ? nullptr : code_item); in Compile()
1275 const dex::CodeItem* code_item = method->GetCodeItem(); in JitCompile() local
1335 info.code_item = code_item; in JitCompile()
[all …]
Dinliner.h121 const dex::CodeItem* code_item,
/art/runtime/interpreter/mterp/riscv64/
Dmain.S129 .macro FETCH_CODE_ITEM_INFO code_item, regs, outs, ins
131 BRANCH_IF_BIT_CLEAR \regs, \code_item, 0, 1f // Regular dex.
135 lhu \regs, CODE_ITEM_REGISTERS_SIZE_OFFSET(\code_item)
136 lhu \outs, CODE_ITEM_OUTS_SIZE_OFFSET(\code_item)
138 lhu \ins, CODE_ITEM_INS_SIZE_OFFSET(\code_item)
140 addi \code_item, \code_item, CODE_ITEM_INSNS_OFFSET
/art/runtime/interpreter/mterp/armng/
Dmain.S332 .macro FETCH_CODE_ITEM_INFO code_item, registers, outs, ins, load_ins
333 tst \code_item, #1
335 bic \code_item, \code_item, #1 // Remove the extra bit that marks it's a compact dex file
336 ldrh lr, [\code_item, #COMPACT_CODE_ITEM_FIELDS_OFFSET]
346 ldrh lr, [\code_item, #COMPACT_CODE_ITEM_FLAGS_OFFSET]
349 mov ip, \code_item
358 ldrh lr, [\code_item, #COMPACT_CODE_ITEM_FLAGS_OFFSET]
368 ldrh lr, [\code_item, #COMPACT_CODE_ITEM_FLAGS_OFFSET]
378 add \code_item, \code_item, #COMPACT_CODE_ITEM_INSNS_OFFSET
382 ldrh \registers, [\code_item, #CODE_ITEM_REGISTERS_SIZE_OFFSET]
[all …]
/art/runtime/interpreter/mterp/arm64ng/
Dmain.S326 .macro FETCH_CODE_ITEM_INFO code_item, registers, outs, ins, load_ins
327 tbz \code_item, #0, 4f
328 and \code_item, \code_item, #-2 // Remove the extra bit that marks it's a compact dex file
329 ldrh w13, [\code_item, #COMPACT_CODE_ITEM_FIELDS_OFFSET]
338 ldrh w13, [\code_item, #COMPACT_CODE_ITEM_FLAGS_OFFSET]
341 sub x14, \code_item, #4
343 csel x14, x14, \code_item, ne
364 add \code_item, \code_item, #COMPACT_CODE_ITEM_INSNS_OFFSET
368 ldrh \registers, [\code_item, #CODE_ITEM_REGISTERS_SIZE_OFFSET]
370 ldrh \outs, [\code_item, #CODE_ITEM_OUTS_SIZE_OFFSET]
[all …]
/art/runtime/interpreter/mterp/x86_64ng/
Dmain.S280 .macro FETCH_CODE_ITEM_INFO code_item, registers, outs, ins, load_ins
281 testq MACRO_LITERAL(1), \code_item
283 andq $$-2, \code_item // Remove the extra bit that marks it's a compact dex file.
284 movzwl COMPACT_CODE_ITEM_FIELDS_OFFSET(\code_item), %r10d
301 testw $$COMPACT_CODE_ITEM_REGISTERS_INS_OUTS_FLAGS, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
303 movq \code_item, %r11
304 testw $$COMPACT_CODE_ITEM_INSNS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
308 testw $$COMPACT_CODE_ITEM_REGISTERS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
314 testw $$COMPACT_CODE_ITEM_INS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
324 testw $$COMPACT_CODE_ITEM_OUTS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
[all …]
/art/runtime/interpreter/mterp/x86ng/
Dmain.S329 .macro FETCH_CODE_ITEM_INFO code_item, registers, outs, ins, load_ins
330 testl MACRO_LITERAL(1), \code_item
332 andl $$-2, \code_item // Remove the extra bit that marks it's a compact dex file.
333 movzwl COMPACT_CODE_ITEM_FIELDS_OFFSET(\code_item), %edx
350 testw $$COMPACT_CODE_ITEM_REGISTERS_INS_OUTS_FLAGS, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
352 movl \code_item, %eax
353 testw $$COMPACT_CODE_ITEM_INSNS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
357 testw $$COMPACT_CODE_ITEM_REGISTERS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
363 testw $$COMPACT_CODE_ITEM_INS_FLAG, COMPACT_CODE_ITEM_FLAGS_OFFSET(\code_item)
373 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