Home
last modified time | relevance | path

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

123

/art/compiler/dex/
Dinline_method_analyser.cc46 static bool Match(const DexFile::CodeItem* code_item, MatchFn* const (&pattern)[size]);
65 explicit Matcher(const DexFile::CodeItem* code_item) in Matcher() argument
66 : code_item_(code_item), in Matcher()
67 instruction_(Instruction::At(code_item->insns_)), in Matcher()
71 static bool DoMatch(const DexFile::CodeItem* code_item, MatchFn* const* pattern, size_t size);
80 bool Matcher::Match(const DexFile::CodeItem* code_item, MatchFn* const (&pattern)[size]) { in Match() argument
81 return DoMatch(code_item, pattern, size); in Match()
130 bool Matcher::DoMatch(const DexFile::CodeItem* code_item, MatchFn* const* pattern, size_t size) { in DoMatch() argument
131 Matcher matcher(code_item); in DoMatch()
161 size_t CountForwardedConstructorArguments(const DexFile::CodeItem* code_item, in CountForwardedConstructorArguments() argument
[all …]
Dverified_method.cc67 const DexFile::CodeItem* code_item = method_verifier->CodeItem(); in GenerateSafeCastSet() local
68 const Instruction* inst = Instruction::At(code_item->insns_); in GenerateSafeCastSet()
69 const Instruction* end = Instruction::At(code_item->insns_ + in GenerateSafeCastSet()
70 code_item->insns_size_in_code_units_); in GenerateSafeCastSet()
75 uint32_t dex_pc = inst->GetDexPc(code_item->insns_); in GenerateSafeCastSet()
Dinline_method_analyser.h124 static bool AnalyseMethodCode(const DexFile::CodeItem* code_item,
130 static bool AnalyseReturnMethod(const DexFile::CodeItem* code_item, InlineMethod* result);
131 static bool AnalyseConstMethod(const DexFile::CodeItem* code_item, InlineMethod* result);
132 static bool AnalyseIGetMethod(const DexFile::CodeItem* code_item,
138 static bool AnalyseIPutMethod(const DexFile::CodeItem* code_item,
/art/compiler/
Dcompiler.cc39 bool Compiler::IsPathologicalCase(const DexFile::CodeItem& code_item, in IsPathologicalCase() argument
47 if (code_item.insns_size_in_code_units_ >= UINT16_MAX / 4) { in IsPathologicalCase()
49 << code_item.insns_size_in_code_units_ in IsPathologicalCase()
53 if (code_item.registers_size_ >= UINT16_MAX / 4) { in IsPathologicalCase()
55 << code_item.registers_size_ << " in " << dex_file.PrettyMethod(method_idx); in IsPathologicalCase()
Dexception_test.cc130 const DexFile::CodeItem* code_item = dex_->GetCodeItem(method_f_->GetCodeItemOffset()); in TEST_F() local
132 ASSERT_TRUE(code_item != nullptr); in TEST_F()
134 ASSERT_EQ(2u, code_item->tries_size_); in TEST_F()
135 ASSERT_NE(0u, code_item->insns_size_in_code_units_); in TEST_F()
138 t0 = dex_->GetTryItems(*code_item, 0); in TEST_F()
139 t1 = dex_->GetTryItems(*code_item, 1); in TEST_F()
142 CatchHandlerIterator iter(*code_item, 4 /* Dex PC in the first try block */); in TEST_F()
152 CatchHandlerIterator iter(*code_item, 8 /* Dex PC in the second try block */); in TEST_F()
159 CatchHandlerIterator iter(*code_item, 11 /* Dex PC not in any try block */); in TEST_F()
/art/runtime/
Ddex_file_tracking_registrar.cc162 const DexFile::CodeItem* code_item = cdit.GetMethodCodeItem(); in SetAllCodeItemRegistration() local
163 if (code_item != nullptr) { in SetAllCodeItemRegistration()
164 const void* code_item_begin = reinterpret_cast<const void*>(code_item); in SetAllCodeItemRegistration()
165 size_t code_item_size = DexFile::GetCodeItemSize(*code_item); in SetAllCodeItemRegistration()
182 const DexFile::CodeItem* code_item = cdit.GetMethodCodeItem(); in SetAllCodeItemStartRegistration() local
183 if (code_item != nullptr) { in SetAllCodeItemStartRegistration()
184 const void* code_item_begin = reinterpret_cast<const void*>(code_item); in SetAllCodeItemStartRegistration()
185 size_t code_item_start = reinterpret_cast<size_t>(code_item); in SetAllCodeItemStartRegistration()
186 size_t code_item_start_end = reinterpret_cast<size_t>(&code_item->insns_[1]); in SetAllCodeItemStartRegistration()
204 const DexFile::CodeItem* code_item = cdit.GetMethodCodeItem(); in SetAllInsnsRegistration() local
[all …]
Dbytecode_utils.h29 explicit CodeItemIterator(const DexFile::CodeItem& code_item) : CodeItemIterator(code_item, 0u) {} in CodeItemIterator() argument
30 CodeItemIterator(const DexFile::CodeItem& code_item, uint32_t start_dex_pc) in CodeItemIterator() argument
31 : code_ptr_(code_item.insns_ + start_dex_pc), in CodeItemIterator()
32 code_end_(code_item.insns_ + code_item.insns_size_in_code_units_), in CodeItemIterator()
167 inline const Instruction& GetDexInstructionAt(const DexFile::CodeItem& code_item, uint32_t dex_pc) { in GetDexInstructionAt() argument
168 return CodeItemIterator(code_item, dex_pc).CurrentInstruction(); in GetDexInstructionAt()
Ddex_file.cc676 uint32_t DexFile::GetCodeItemSize(const DexFile::CodeItem& code_item) { in GetCodeItemSize() argument
677 uintptr_t code_item_start = reinterpret_cast<uintptr_t>(&code_item); in GetCodeItemSize()
678 uint32_t insns_size = code_item.insns_size_in_code_units_; in GetCodeItemSize()
679 uint32_t tries_size = code_item.tries_size_; in GetCodeItemSize()
680 const uint8_t* handler_data = GetCatchHandlerData(code_item, 0); in GetCodeItemSize()
683 uintptr_t insns_end = reinterpret_cast<uintptr_t>(&code_item.insns_[insns_size]); in GetCodeItemSize()
948 int32_t DexFile::FindTryItem(const CodeItem &code_item, uint32_t address) { in FindTryItem() argument
951 int32_t max = code_item.tries_size_ - 1; in FindTryItem()
956 const art::DexFile::TryItem* ti = GetTryItems(code_item, mid); in FindTryItem()
972 int32_t DexFile::FindCatchHandlerOffset(const CodeItem &code_item, uint32_t address) { in FindCatchHandlerOffset() argument
[all …]
Ddex_to_dex_decompiler.cc31 DexDecompiler(const DexFile::CodeItem& code_item, in DexDecompiler() argument
34 : code_item_(code_item), in DexDecompiler()
195 bool ArtDecompileDEX(const DexFile::CodeItem& code_item, in ArtDecompileDEX() argument
201 DexDecompiler decompiler(code_item, quickened_info, decompile_return_instruction); in ArtDecompileDEX()
Ddex_to_dex_decompiler.h32 bool ArtDecompileDEX(const DexFile::CodeItem& code_item,
Dcommon_dex_operations.h32 const DexFile::CodeItem* code_item,
45 const DexFile::CodeItem* code_item, in PerformCall() argument
54 interpreter::ArtInterpreterToInterpreterBridge(self, code_item, callee_frame, result); in PerformCall()
60 interpreter::UnstartedRuntime::Invoke(self, code_item, callee_frame, result, first_dest_reg); in PerformCall()
Dmethod_handles.cc429 const DexFile::CodeItem* code_item = called_method->GetCodeItem(); in DoCallPolymorphic() local
440 if (LIKELY(code_item != nullptr)) { in DoCallPolymorphic()
441 num_regs = code_item->registers_size_; in DoCallPolymorphic()
442 first_dest_reg = num_regs - code_item->ins_size_; in DoCallPolymorphic()
443 num_input_regs = code_item->ins_size_; in DoCallPolymorphic()
520 code_item, in DoCallPolymorphic()
576 const DexFile::CodeItem* code_item = called_method->GetCodeItem(); in DoCallTransform() local
577 DCHECK(code_item != nullptr); in DoCallTransform()
578 DCHECK_EQ(kNumRegsForTransform, code_item->registers_size_); in DoCallTransform()
579 DCHECK_EQ(kNumRegsForTransform, code_item->ins_size_); in DoCallTransform()
[all …]
Dstack.cc156 const DexFile::CodeItem* code_item = m->GetCodeItem(); in GetThisObject() local
157 if (code_item == nullptr) { in GetThisObject()
162 uint16_t reg = code_item->registers_size_ - code_item->ins_size_; in GetThisObject()
225 const DexFile::CodeItem* code_item = m->GetCodeItem(); in GetVRegFromOptimizedCode() local
226 DCHECK(code_item != nullptr) << m->PrettyMethod(); // Can't be null or how would we compile in GetVRegFromOptimizedCode()
228 uint16_t number_of_dex_registers = code_item->registers_size_; in GetVRegFromOptimizedCode()
229 DCHECK_LT(vreg, code_item->registers_size_); in GetVRegFromOptimizedCode()
397 const DexFile::CodeItem* code_item = m->GetCodeItem(); in SetVReg() local
398 if (code_item == nullptr) { in SetVReg()
406 const uint16_t num_regs = code_item->registers_size_; in SetVReg()
[all …]
/art/runtime/interpreter/
Dshadow_frame.cc30 const DexFile::CodeItem* code_item = m->GetCodeItem(); in GetThisObject() local
31 CHECK(code_item != nullptr) << ArtMethod::PrettyMethod(m); in GetThisObject()
32 uint16_t reg = code_item->registers_size_ - code_item->ins_size_; in GetThisObject()
Dinterpreter.cc241 const DexFile::CodeItem* code_item, in Execute() argument
255 instrumentation->MethodEnterEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), in Execute()
259 shadow_frame.GetThisObject(code_item->ins_size_), in Execute()
278 uint16_t arg_offset = code_item->registers_size_ - code_item->ins_size_; in Execute()
302 return ExecuteSwitchImpl<false, true>(self, code_item, shadow_frame, result_register, in Execute()
305 return ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, result_register, in Execute()
311 return ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, result_register, in Execute()
314 bool returned = ExecuteMterpImpl(self, code_item, &shadow_frame, &result_register); in Execute()
319 result_register = ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, in Execute()
331 return ExecuteSwitchImpl<false, true>(self, code_item, shadow_frame, result_register, in Execute()
[all …]
Dinterpreter.h51 extern JValue EnterInterpreterFromEntryPoint(Thread* self, const DexFile::CodeItem* code_item,
55 void ArtInterpreterToInterpreterBridge(Thread* self, const DexFile::CodeItem* code_item,
Dinterpreter_mterp_impl.h35 const DexFile::CodeItem* code_item,
/art/compiler/optimizing/
Dbuilder.h43 const DexFile::CodeItem& code_item, in HGraphBuilder() argument
52 code_item_(code_item), in HGraphBuilder()
56 block_builder_(graph, dex_file, code_item), in HGraphBuilder()
78 const DexFile::CodeItem& code_item,
83 code_item_(code_item), in graph_()
87 block_builder_(graph, nullptr, code_item), in graph_()
Dblock_builder.h31 const DexFile::CodeItem& code_item) in HBasicBlockBuilder() argument
35 code_item_(code_item), in HBasicBlockBuilder()
36 branch_targets_(code_item.insns_size_in_code_units_, in HBasicBlockBuilder()
/art/dexdump/
Ddexdump_cfg.cc33 const DexFile::CodeItem* code_item, in dumpMethodCFGImpl() argument
41 const Instruction* inst = Instruction::At(code_item->insns_); in dumpMethodCFGImpl()
43 dex_pc < code_item->insns_size_in_code_units_; in dumpMethodCFGImpl()
48 const uint16_t* insns = code_item->insns_ + dex_pc; in dumpMethodCFGImpl()
75 const Instruction* inst = Instruction::At(code_item->insns_); in dumpMethodCFGImpl()
79 dex_pc < code_item->insns_size_in_code_units_; in dumpMethodCFGImpl()
163 const Instruction* inst = Instruction::At(code_item->insns_); in dumpMethodCFGImpl()
165 dex_pc < code_item->insns_size_in_code_units_; in dumpMethodCFGImpl()
198 CatchHandlerIterator catch_it(*code_item, dex_pc); in dumpMethodCFGImpl()
223 const uint16_t* insns = code_item->insns_ + dex_pc; in dumpMethodCFGImpl()
[all …]
/art/runtime/interpreter/mterp/
Dmterp_stub.cc41 extern "C" bool ExecuteMterpImpl(Thread* self, const DexFile::CodeItem* code_item, in ExecuteMterpImpl() argument
44 UNUSED(self); UNUSED(shadow_frame); UNUSED(code_item); UNUSED(result_register); in ExecuteMterpImpl()
/art/runtime/jit/
Dprofiling_info.cc46 const DexFile::CodeItem& code_item = *method->GetCodeItem(); in Create() local
47 const uint16_t* code_ptr = code_item.insns_; in Create()
48 const uint16_t* code_end = code_item.insns_ + code_item.insns_size_in_code_units_; in Create()
/art/compiler/driver/
Ddex_compilation_unit.cc27 const DexFile::CodeItem* code_item, in DexCompilationUnit() argument
36 code_item_(code_item), in DexCompilationUnit()
/art/dexlayout/
Ddex_writer.cc417 std::unique_ptr<dex_ir::CodeItem>& code_item = code_item_pair.second; in WriteCodeItems() local
418 uint16_buffer[0] = code_item->RegistersSize(); in WriteCodeItems()
419 uint16_buffer[1] = code_item->InsSize(); in WriteCodeItems()
420 uint16_buffer[2] = code_item->OutsSize(); in WriteCodeItems()
421 uint16_buffer[3] = code_item->TriesSize(); in WriteCodeItems()
422 uint32_buffer[0] = code_item->DebugInfo() == nullptr ? 0 : code_item->DebugInfo()->GetOffset(); in WriteCodeItems()
423 uint32_buffer[1] = code_item->InsnsSize(); in WriteCodeItems()
424 size_t offset = code_item->GetOffset(); in WriteCodeItems()
427 offset += Write(code_item->Insns(), code_item->InsnsSize() * sizeof(uint16_t), offset); in WriteCodeItems()
428 if (code_item->TriesSize() != 0) { in WriteCodeItems()
[all …]
/art/runtime/openjdkjvmti/
Dti_method.cc112 const art::DexFile::CodeItem* code_item = art_method->GetCodeItem(); in GetBytecodes() local
113 if (code_item == nullptr) { in GetBytecodes()
119 *size_ptr = code_item->insns_size_in_code_units_ * 2; in GetBytecodes()
124 memcpy(*bytecode_ptr, code_item->insns_, *size_ptr); in GetBytecodes()
350 const art::DexFile::CodeItem* code_item; in GetLineNumberTable() local
365 code_item = art_method->GetCodeItem(); in GetLineNumberTable()
367 DCHECK(code_item != nullptr) << art_method->PrettyMethod() << " " << dex_file->GetLocation(); in GetLineNumberTable()
371 bool success = dex_file->DecodeDebugPositionInfo(code_item, CollectLineNumbers, &context); in GetLineNumberTable()

123