/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()
|
/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() 163 size_t CountForwardedConstructorArguments(const CodeItemDataAccessor* code_item, in CountForwardedConstructorArguments() argument [all …]
|
D | inline_method_analyser.h | 126 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/ |
D | compact_dex_writer.cc | 61 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 …]
|
D | dex_writer.cc | 536 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 …]
|
D | dex_visualize.cc | 188 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()
|
D | dex_ir_builder.cc | 905 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/ |
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 | 41 const dex::CodeItem* code_item,
|
/art/compiler/ |
D | compiler.cc | 48 bool Compiler::IsPathologicalCase(const dex::CodeItem& code_item, in IsPathologicalCase() argument 56 CodeItemDataAccessor accessor(dex_file, &code_item); in IsPathologicalCase()
|
D | compiler.h | 61 virtual CompiledMethod* Compile(const dex::CodeItem* code_item, 96 static bool IsPathologicalCase(const dex::CodeItem& code_item,
|
/art/runtime/verifier/ |
D | method_verifier.h | 127 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/ |
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/runtime/interpreter/mterp/ |
D | mterp_stub.cc | 46 UNUSED(self); UNUSED(shadow_frame); UNUSED(code_item); UNUSED(result_register); in ExecuteMterpImpl()
|
/art/compiler/debug/ |
D | method_debug_info.h | 35 const dex::CodeItem* code_item; member
|
/art/compiler/optimizing/ |
D | optimizing_compiler.cc | 279 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/ |
D | main.S | 337 .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/ |
D | main.S | 318 .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/ |
D | main.S | 282 .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/ |
D | asm_defines.def | 24 #include "code_item.def"
|