Home
last modified time | relevance | path

Searched refs:dex_pc (Results 1 – 25 of 89) sorted by relevance

1234

/art/compiler/dex/
Ddex_to_dex_compiler.cc46 QuickenedInfo(uint32_t pc, uint16_t index) : dex_pc(pc), dex_member_index(index) {} in QuickenedInfo()
48 uint32_t dex_pc; member
76 void CompileReturnVoid(Instruction* inst, uint32_t dex_pc);
81 Instruction* CompileCheckCast(Instruction* inst, uint32_t dex_pc);
89 void CompileInstanceFieldAccess(Instruction* inst, uint32_t dex_pc,
98 void CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc,
117 const uint32_t dex_pc = it.CurrentDexPc(); in Compile() local
120 CompileReturnVoid(inst, dex_pc); in Compile()
124 inst = CompileCheckCast(inst, dex_pc); in Compile()
133 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_QUICK, false); in Compile()
[all …]
Dverified_method.cc75 uint32_t dex_pc = inst->GetDexPc(code_item->insns_); in GenerateSafeCastSet() local
76 if (!method_verifier->GetInstructionFlags(dex_pc).IsVisited()) { in GenerateSafeCastSet()
80 const verifier::RegisterLine* line = method_verifier->GetRegLine(dex_pc); in GenerateSafeCastSet()
104 DCHECK(safe_cast_set_->empty() || safe_cast_set_->back() < dex_pc); in GenerateSafeCastSet()
105 safe_cast_set_->push_back(dex_pc); in GenerateSafeCastSet()
/art/dexdump/
Ddexdump_cfg.cc42 for (uint32_t dex_pc = 0; in dumpMethodCFGImpl() local
43 dex_pc < code_item->insns_size_in_code_units_; in dumpMethodCFGImpl()
44 dex_pc += inst->SizeInCodeUnits(), inst = inst->Next()) { in dumpMethodCFGImpl()
46 dex_pc_is_branch_target.insert(dex_pc + inst->GetTargetOffset()); in dumpMethodCFGImpl()
48 const uint16_t* insns = code_item->insns_ + dex_pc; in dumpMethodCFGImpl()
64 dex_pc_is_branch_target.insert(dex_pc + offset); in dumpMethodCFGImpl()
78 for (uint32_t dex_pc = 0; in dumpMethodCFGImpl() local
79 dex_pc < code_item->insns_size_in_code_units_; in dumpMethodCFGImpl()
80 dex_pc += inst->SizeInCodeUnits(), inst = inst->Next()) { in dumpMethodCFGImpl()
81 if (dex_pc == 0 || in dumpMethodCFGImpl()
[all …]
/art/compiler/optimizing/
Dinstruction_builder.cc37 HBasicBlock* HInstructionBuilder::FindBlockStartingAt(uint32_t dex_pc) const { in FindBlockStartingAt()
38 return block_builder_->GetBlockAt(dex_pc); in FindBlockStartingAt()
228 HInstruction* HInstructionBuilder::LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc) { in LoadNullCheckedLocal() argument
234 HNullCheck* null_check = new (arena_) HNullCheck(ref, dex_pc); in LoadNullCheckedLocal()
327 uint32_t dex_pc = it.CurrentDexPc(); in Build() local
328 if (dex_pc != block_dex_pc && FindBlockStartingAt(dex_pc) != nullptr) { in Build()
337 if (native_debuggable && native_debug_info_locations->IsBitSet(dex_pc)) { in Build()
338 AppendInstruction(new (arena_) HNativeDebugInfo(dex_pc)); in Build()
341 if (!ProcessDexInstruction(it.CurrentInstruction(), dex_pc, quicken_index)) { in Build()
496 void HInstructionBuilder::If_22t(const Instruction& instruction, uint32_t dex_pc) { in If_22t() argument
[all …]
Dinstruction_builder.h87 bool ProcessDexInstruction(const Instruction& instruction, uint32_t dex_pc, size_t quicken_index);
93 HBasicBlock* FindBlockStartingAt(uint32_t dex_pc) const;
102 HInstruction* LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc);
117 void Unop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc);
120 void Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc);
123 void Binop_23x_shift(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc);
128 uint32_t dex_pc);
131 void Binop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc);
134 void Binop_12x_shift(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc);
137 void Binop_22b(const Instruction& instruction, bool reverse, uint32_t dex_pc);
[all …]
Dnodes_vector.h71 uint32_t dex_pc) in HVecOperation() argument
73 dex_pc, in HVecOperation()
140 uint32_t dex_pc) in HVecUnaryOperation() argument
146 dex_pc) { in HVecUnaryOperation()
166 uint32_t dex_pc) in HVecBinaryOperation() argument
172 dex_pc) { in HVecBinaryOperation()
196 uint32_t dex_pc) in HVecMemoryOperation() argument
197 : HVecOperation(arena, packed_type, side_effects, number_of_inputs, vector_length, dex_pc), in HVecMemoryOperation()
253 uint32_t dex_pc = kNoDexPc)
254 : HVecUnaryOperation(arena, scalar, packed_type, vector_length, dex_pc) { in HVecUnaryOperation() argument
[all …]
Dblock_builder.cc24 HBasicBlock* HBasicBlockBuilder::MaybeCreateBlockAt(uint32_t dex_pc) { in MaybeCreateBlockAt() argument
25 return MaybeCreateBlockAt(dex_pc, dex_pc); in MaybeCreateBlockAt()
80 uint32_t dex_pc = it.CurrentDexPc(); in CreateBranchTargets() local
85 MaybeCreateBlockAt(dex_pc + instruction.GetTargetOffset()); in CreateBranchTargets()
87 DexSwitchTable table(instruction, dex_pc); in CreateBranchTargets()
89 MaybeCreateBlockAt(dex_pc + s_it.CurrentTargetOffset()); in CreateBranchTargets()
97 MaybeCreateBlockAt(dex_pc, s_it.GetDexPcForCurrentIndex()); in CreateBranchTargets()
113 MaybeCreateBlockAt(dex_pc + it.CurrentInstruction().SizeInCodeUnits()); in CreateBranchTargets()
130 uint32_t dex_pc = it.CurrentDexPc(); in ConnectBasicBlocks() local
133 HBasicBlock* next_block = GetBlockAt(dex_pc); in ConnectBasicBlocks()
[all …]
Dblock_builder.h50 HBasicBlock* GetBlockAt(uint32_t dex_pc) const { return branch_targets_[dex_pc]; } in GetBlockAt() argument
52 size_t GetQuickenIndex(uint32_t dex_pc) const;
56 HBasicBlock* MaybeCreateBlockAt(uint32_t dex_pc);
Dnodes_shared.h34 uint32_t dex_pc = kNoDexPc)
35 : HExpression(type, SideEffects::None(), dex_pc), op_kind_(op) { in HExpression() argument
67 uint32_t dex_pc = kNoDexPc)
68 : HBinaryOperation(result_type, left, right, SideEffects::None(), dex_pc), in HBinaryOperation() argument
129 HIntermediateAddress(HInstruction* base_address, HInstruction* offset, uint32_t dex_pc) in HIntermediateAddress() argument
130 : HExpression(Primitive::kPrimInt, SideEffects::DependsOnGC(), dex_pc) { in HIntermediateAddress()
173 HInstruction* index, HInstruction* offset, HInstruction* shift, uint32_t dex_pc) in HIntermediateAddressIndex() argument
174 : HExpression(Primitive::kPrimInt, SideEffects::None(), dex_pc) { in HIntermediateAddressIndex()
222 uint32_t dex_pc = kNoDexPc)
223 : HExpression(instr->GetType(), SideEffects::None(), dex_pc),
Dnodes.h513 HConstant* GetConstant(Primitive::Type type, int64_t value, uint32_t dex_pc = kNoDexPc);
518 HNullConstant* GetNullConstant(uint32_t dex_pc = kNoDexPc);
520 HIntConstant* GetIntConstant(int32_t value, uint32_t dex_pc = kNoDexPc) {
521 return CreateConstant(value, &cached_int_constants_, dex_pc);
523 HLongConstant* GetLongConstant(int64_t value, uint32_t dex_pc = kNoDexPc) {
524 return CreateConstant(value, &cached_long_constants_, dex_pc);
526 HFloatConstant* GetFloatConstant(float value, uint32_t dex_pc = kNoDexPc) {
527 return CreateConstant(bit_cast<int32_t, float>(value), &cached_float_constants_, dex_pc);
529 HDoubleConstant* GetDoubleConstant(double value, uint32_t dex_pc = kNoDexPc) {
530 return CreateConstant(bit_cast<int64_t, double>(value), &cached_double_constants_, dex_pc);
[all …]
Dnodes_x86.h67 uint32_t dex_pc) in HX86FPNeg() argument
68 : HExpression(result_type, SideEffects::None(), dex_pc) { in HX86FPNeg()
91 uint32_t dex_pc) in HX86PackedSwitch() argument
92 : HTemplateInstruction(SideEffects::None(), dex_pc), in HX86PackedSwitch()
Dnodes_mips.h44 uint32_t dex_pc) in HMipsPackedSwitch() argument
45 : HTemplateInstruction(SideEffects::None(), dex_pc), in HMipsPackedSwitch()
Dstack_map_stream.cc27 void StackMapStream::BeginStackMapEntry(uint32_t dex_pc, in BeginStackMapEntry() argument
33 DCHECK_EQ(0u, current_entry_.dex_pc) << "EndStackMapEntry not called after BeginStackMapEntry"; in BeginStackMapEntry()
34 DCHECK_NE(dex_pc, static_cast<uint32_t>(-1)) << "invalid dex_pc"; in BeginStackMapEntry()
35 current_entry_.dex_pc = dex_pc; in BeginStackMapEntry()
55 dex_pc_max_ = std::max(dex_pc_max_, dex_pc); in BeginStackMapEntry()
106 uint32_t dex_pc, in BeginInlineInfoEntry() argument
114 if (dex_pc != static_cast<uint32_t>(-1) && kIsDebugBuild) { in BeginInlineInfoEntry()
120 current_inline_info_.dex_pc = dex_pc; in BeginInlineInfoEntry()
259 if (inline_entry.dex_pc != DexFile::kDexNoIndex && in ComputeInlineInfoEncoding()
260 (dex_pc_max == DexFile::kDexNoIndex || dex_pc_max < inline_entry.dex_pc)) { in ComputeInlineInfoEncoding()
[all …]
Dstack_map_stream.h113 uint32_t dex_pc; member
129 uint32_t dex_pc; // DexFile::kDexNoIndex for intrinsified native methods. member
137 void BeginStackMapEntry(uint32_t dex_pc,
150 uint32_t dex_pc,
/art/runtime/jit/
Dprofiling_info.cc50 uint32_t dex_pc = 0; in Create() local
61 entries.push_back(dex_pc); in Create()
67 dex_pc += instruction.SizeInCodeUnits(); in Create()
79 InlineCache* ProfilingInfo::GetInlineCache(uint32_t dex_pc) { in GetInlineCache() argument
82 if (cache_[i].dex_pc_ == dex_pc) { in GetInlineCache()
86 LOG(FATAL) << "No inline cache found for " << ArtMethod::PrettyMethod(method_) << "@" << dex_pc; in GetInlineCache()
90 void ProfilingInfo::AddInvokeInfo(uint32_t dex_pc, mirror::Class* cls) { in AddInvokeInfo() argument
91 InlineCache* cache = GetInlineCache(dex_pc); in AddInvokeInfo()
Dprofile_compilation_info_test.cc137 for (uint16_t dex_pc = 0; dex_pc < 11; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
140 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
143 for (uint16_t dex_pc = 11; dex_pc < 22; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
148 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
151 for (uint16_t dex_pc = 22; dex_pc < 33; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
156 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
159 for (uint16_t dex_pc = 33; dex_pc < 44; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
161 caches.emplace_back(dex_pc, /*is_missing_types*/true, classes); in SaveProfilingInfoWithFakeInlineCaches()
191 inline_cache.dex_pc, ProfileCompilationInfo::DexPcData(arena_.get()))->second; in ConvertProfileMethodInfo()
217 for (uint16_t dex_pc = 0; dex_pc < 11; dex_pc++) { in GetOfflineProfileMethodInfo() local
[all …]
/art/runtime/
Dinstrumentation.h69 uint32_t dex_pc) REQUIRES_SHARED(Locks::mutator_lock_) = 0;
74 uint32_t dex_pc,
84 uint32_t dex_pc,
93 uint32_t dex_pc)
107 uint32_t dex_pc,
113 uint32_t dex_pc,
122 uint32_t dex_pc,
135 uint32_t dex_pc,
143 uint32_t dex_pc,
351 ArtMethod* method, uint32_t dex_pc) const in MethodEnterEvent() argument
[all …]
Doat_quick_method_header.cc66 const uint32_t dex_pc, in ToNativeQuickPc() argument
80 LIKELY(is_for_catch_handler) ? code_info.GetCatchStackMapForDexPc(dex_pc, encoding) in ToNativeQuickPc()
81 : code_info.GetStackMapForDexPc(dex_pc, encoding); in ToNativeQuickPc()
88 LOG(FATAL) << "Failed to find native offset for dex pc 0x" << std::hex << dex_pc in ToNativeQuickPc()
Dinstrumentation.cc54 uint32_t dex_pc, in MethodExited() argument
60 MethodExited(thread, this_object, method, dex_pc, v); in MethodExited()
66 uint32_t dex_pc, in FieldWritten() argument
72 FieldWritten(thread, this_object, method, dex_pc, field, v); in FieldWritten()
330 uint32_t dex_pc = visitor.dex_pcs_.back(); in InstrumentationInstallStack() local
333 instrumentation->MethodEnterEvent(thread, (*isi).this_object_, (*isi).method_, dex_pc); in InstrumentationInstallStack()
949 uint32_t dex_pc) const { in MethodEnterEventImpl()
956 listener->MethodEntered(thread, thiz, method, dex_pc); in MethodEnterEventImpl()
965 uint32_t dex_pc, in MethodExitEventImpl() argument
975 listener->MethodExited(thread, thiz, method, dex_pc, return_value); in MethodExitEventImpl()
[all …]
Dbytecode_utils.h58 DexSwitchTable(const Instruction& instruction, uint32_t dex_pc) in DexSwitchTable() argument
60 dex_pc_(dex_pc), in DexSwitchTable()
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()
Dtrace.h146 uint32_t dex_pc)
152 uint32_t dex_pc,
159 uint32_t dex_pc)
171 uint32_t dex_pc,
177 uint32_t dex_pc,
186 uint32_t dex_pc,
192 uint32_t dex_pc,
Dinstrumentation_test.cc58 uint32_t dex_pc ATTRIBUTE_UNUSED) in MethodEntered()
66 uint32_t dex_pc ATTRIBUTE_UNUSED, in MethodExited()
75 uint32_t dex_pc ATTRIBUTE_UNUSED, in MethodExited()
84 uint32_t dex_pc ATTRIBUTE_UNUSED) in MethodUnwind()
100 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldRead()
109 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldWritten()
119 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldWritten()
134 uint32_t dex_pc ATTRIBUTE_UNUSED, in Branch()
143 uint32_t dex_pc ATTRIBUTE_UNUSED, in InvokeVirtualOrInterface()
376 uint32_t dex_pc) in ReportEvent() argument
[all …]
/art/runtime/interpreter/
Dshadow_frame.h60 ArtMethod* method, uint32_t dex_pc) { in CreateDeoptimizedFrame() argument
62 return CreateShadowFrameImpl(num_vregs, link, method, dex_pc, memory); in CreateDeoptimizedFrame()
74 #define CREATE_SHADOW_FRAME(num_vregs, link, method, dex_pc) ({ \ argument
78 ShadowFrame::CreateShadowFrameImpl((num_vregs), (link), (method), (dex_pc), \
114 void SetDexPC(uint32_t dex_pc) { in SetDexPC() argument
115 dex_pc_ = dex_pc; in SetDexPC()
347 uint32_t dex_pc, in CreateShadowFrameImpl() argument
349 return new (memory) ShadowFrame(num_vregs, link, method, dex_pc, true); in CreateShadowFrameImpl()
366 uint32_t dex_pc, bool has_reference_array) in ShadowFrame() argument
373 dex_pc_(dex_pc), in ShadowFrame()
/art/test/004-ReferenceMap/
Dstack_walk_refmap_jni.cc23 #define CHECK_REGS_CONTAIN_REFS(dex_pc, abort_if_not_found, ...) do { \ argument
28 dex_pc, \
/art/runtime/verifier/
Dmethod_verifier-inl.h33 inline RegisterLine* MethodVerifier::GetRegLine(uint32_t dex_pc) { in GetRegLine() argument
34 return reg_table_.GetLine(dex_pc); in GetRegLine()

1234