/art/libdexfile/dex/ |
D | code_item_accessors-inl.h | 39 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 …]
|
D | dex_file_tracking_registrar.cc | 161 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 …]
|
D | code_item_accessors.h | 44 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);
|
D | compact_dex_file_test.cc | 56 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()
|
D | dex_file_loader_test.cc | 620 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/ |
D | inline_method_analyser.cc | 47 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 …]
|
D | inline_method_analyser.h | 103 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/ |
D | dex_compilation_unit.cc | 33 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()
|
D | dex_compilation_unit.h | 42 const dex::CodeItem* code_item,
|
/art/compiler/ |
D | compiler.cc | 37 bool Compiler::IsPathologicalCase(const dex::CodeItem& code_item, in IsPathologicalCase() argument 45 CodeItemDataAccessor accessor(dex_file, &code_item); in IsPathologicalCase()
|
D | compiler.h | 56 virtual CompiledMethod* Compile(const dex::CodeItem* code_item, 91 static bool IsPathologicalCase(const dex::CodeItem& code_item,
|
/art/runtime/verifier/ |
D | method_verifier.h | 107 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/ |
D | dexanalyze_bytecode.cc | 218 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()
|
D | dexanalyze_experiments.cc | 95 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()
|
D | dexanalyze_bytecode.h | 67 const CodeItemDataAccessor& code_item,
|
/art/compiler/debug/ |
D | method_debug_info.h | 36 const dex::CodeItem* code_item; member
|
D | elf_debug_line_writer.h | 154 CodeItemDebugInfoAccessor accessor(*dex, mi->code_item, mi->dex_method_index); in WriteCompilationUnit()
|
/art/compiler/optimizing/ |
D | optimizing_compiler.cc | 257 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 …]
|
D | inliner.h | 121 const dex::CodeItem* code_item,
|
/art/runtime/interpreter/mterp/riscv64/ |
D | main.S | 129 .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/ |
D | main.S | 332 .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/ |
D | main.S | 326 .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/ |
D | main.S | 280 .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/ |
D | main.S | 329 .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/ |
D | asm_defines.def | 24 #include "code_item.def"
|