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()
162 size_t CountForwardedConstructorArguments(const DexFile::CodeItem* code_item, in CountForwardedConstructorArguments() argument
[all …]
Dverified_method.cc64 const DexFile::CodeItem* code_item = method_verifier->CodeItem(); in GenerateSafeCastSet() local
65 const Instruction* inst = Instruction::At(code_item->insns_); in GenerateSafeCastSet()
66 const Instruction* end = Instruction::At(code_item->insns_ + in GenerateSafeCastSet()
67 code_item->insns_size_in_code_units_); in GenerateSafeCastSet()
72 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.cc127 const DexFile::CodeItem* code_item = dex_->GetCodeItem(method_f_->GetCodeItemOffset()); in TEST_F() local
129 ASSERT_TRUE(code_item != nullptr); in TEST_F()
131 ASSERT_EQ(2u, code_item->tries_size_); in TEST_F()
132 ASSERT_NE(0u, code_item->insns_size_in_code_units_); in TEST_F()
135 t0 = dex_->GetTryItems(*code_item, 0); in TEST_F()
136 t1 = dex_->GetTryItems(*code_item, 1); in TEST_F()
139 CatchHandlerIterator iter(*code_item, 4 /* Dex PC in the first try block */); in TEST_F()
149 CatchHandlerIterator iter(*code_item, 8 /* Dex PC in the second try block */); in TEST_F()
156 CatchHandlerIterator iter(*code_item, 11 /* Dex PC not in any try block */); in TEST_F()
Dcompiler.h62 virtual CompiledMethod* Compile(const DexFile::CodeItem* code_item,
108 static bool IsPathologicalCase(const DexFile::CodeItem& code_item,
/art/runtime/
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()
Dcommon_dex_operations.h32 const DexFile::CodeItem* code_item,
39 const DexFile::CodeItem* code_item,
45 const DexFile::CodeItem* code_item, in PerformCall() argument
56 interpreter::ArtInterpreterToInterpreterBridge(self, code_item, callee_frame, result); in PerformCall()
59 self, caller_method, code_item, callee_frame, result); in PerformCall()
62 interpreter::UnstartedRuntime::Invoke(self, code_item, callee_frame, result, first_dest_reg); in PerformCall()
Dvdex_file.cc193 const DexFile::CodeItem* code_item = it.GetMethodCodeItem(); in Unquicken() local
194 if (code_item != nullptr) { in Unquicken()
197 optimizer::ArtDecompileDEX(*code_item, in Unquicken()
206 const DexFile::CodeItem* code_item = it.GetMethodCodeItem(); in Unquicken() local
207 if (code_item != nullptr) { in Unquicken()
210 optimizer::ArtDecompileDEX(*code_item, in Unquicken()
Ddex_file.cc927 int32_t DexFile::FindTryItem(const CodeItem &code_item, uint32_t address) { in FindTryItem() argument
930 int32_t max = code_item.tries_size_ - 1; in FindTryItem()
935 const art::DexFile::TryItem* ti = GetTryItems(code_item, mid); in FindTryItem()
951 int32_t DexFile::FindCatchHandlerOffset(const CodeItem &code_item, uint32_t address) { in FindCatchHandlerOffset() argument
952 int32_t try_item = FindTryItem(code_item, address); in FindCatchHandlerOffset()
956 return DexFile::GetTryItems(code_item, try_item)->handler_off_; in FindCatchHandlerOffset()
960 bool DexFile::DecodeDebugLocalInfo(const CodeItem* code_item, bool is_static, uint32_t method_idx, in DecodeDebugLocalInfo() argument
963 if (code_item == nullptr) { in DecodeDebugLocalInfo()
966 const uint8_t* stream = GetDebugInfoStream(code_item); in DecodeDebugLocalInfo()
970 std::vector<LocalInfo> local_in_reg(code_item->registers_size_); in DecodeDebugLocalInfo()
[all …]
Dstack.cc55 const DexFile::CodeItem* code_item = m->GetCodeItem(); in GetThisObject() local
56 CHECK(code_item != nullptr) << ArtMethod::PrettyMethod(m); in GetThisObject()
57 uint16_t reg = code_item->registers_size_ - code_item->ins_size_; in GetThisObject()
203 const DexFile::CodeItem* code_item = m->GetCodeItem(); in GetThisObject() local
204 if (code_item == nullptr) { in GetThisObject()
209 uint16_t reg = code_item->registers_size_ - code_item->ins_size_; in GetThisObject()
272 const DexFile::CodeItem* code_item = m->GetCodeItem(); in GetVRegFromOptimizedCode() local
273 DCHECK(code_item != nullptr) << m->PrettyMethod(); // Can't be null or how would we compile in GetVRegFromOptimizedCode()
275 uint16_t number_of_dex_registers = code_item->registers_size_; in GetVRegFromOptimizedCode()
276 DCHECK_LT(vreg, code_item->registers_size_); in GetVRegFromOptimizedCode()
[all …]
Ddex_to_dex_decompiler.cc30 DexDecompiler(const DexFile::CodeItem& code_item, in DexDecompiler() argument
33 : code_item_(code_item), in DexDecompiler()
204 bool ArtDecompileDEX(const DexFile::CodeItem& code_item, in ArtDecompileDEX() argument
210 DexDecompiler decompiler(code_item, quickened_info, decompile_return_instruction); in ArtDecompileDEX()
Ddex_to_dex_decompiler.h32 bool ArtDecompileDEX(const DexFile::CodeItem& code_item,
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()
517 PerformCall(self, code_item, shadow_frame.GetMethod(), first_dest_reg, new_shadow_frame, result); in DoCallPolymorphic()
568 const DexFile::CodeItem* code_item = called_method->GetCodeItem(); in DoCallTransform() local
569 DCHECK(code_item != nullptr); in DoCallTransform()
570 DCHECK_EQ(kNumRegsForTransform, code_item->registers_size_); in DoCallTransform()
571 DCHECK_EQ(kNumRegsForTransform, code_item->ins_size_); in DoCallTransform()
[all …]
/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/
Dinterpreter.cc240 const DexFile::CodeItem* code_item, in Execute() argument
254 instrumentation->MethodEnterEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), in Execute()
267 ArtInterpreterToCompiledCodeBridge(self, nullptr, code_item, &shadow_frame, &result); in Execute()
290 return ExecuteSwitchImpl<false, true>(self, code_item, shadow_frame, result_register, in Execute()
293 return ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, result_register, in Execute()
299 return ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, result_register, in Execute()
302 bool returned = ExecuteMterpImpl(self, code_item, &shadow_frame, &result_register); in Execute()
307 result_register = ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, in Execute()
319 return ExecuteSwitchImpl<false, true>(self, code_item, shadow_frame, result_register, in Execute()
322 return ExecuteSwitchImpl<false, false>(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,
Dinterpreter_switch_impl.h35 const DexFile::CodeItem* code_item,
/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/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/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 …]

123