Home
last modified time | relevance | path

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

1234

/art/compiler/optimizing/
Dinstruction_builder.h73 bool ProcessDexInstruction(const Instruction& instruction, uint32_t dex_pc, size_t quicken_index);
79 HBasicBlock* FindBlockStartingAt(uint32_t dex_pc) const;
88 HInstruction* LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc);
98 void Unop_12x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
101 void Binop_23x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
104 void Binop_23x_shift(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
109 uint32_t dex_pc);
112 void Binop_12x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
115 void Binop_12x_shift(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
118 void Binop_22b(const Instruction& instruction, bool reverse, uint32_t dex_pc);
[all …]
Dinstruction_builder.cc80 HBasicBlock* HInstructionBuilder::FindBlockStartingAt(uint32_t dex_pc) const { in FindBlockStartingAt()
81 return block_builder_->GetBlockAt(dex_pc); in FindBlockStartingAt()
271 HInstruction* HInstructionBuilder::LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc) { in LoadNullCheckedLocal() argument
277 HNullCheck* null_check = new (allocator_) HNullCheck(ref, dex_pc); in LoadNullCheckedLocal()
370 const uint32_t dex_pc = pair.DexPc(); in Build() local
371 if (dex_pc != block_dex_pc && FindBlockStartingAt(dex_pc) != nullptr) { in Build()
380 if (native_debuggable && native_debug_info_locations->IsBitSet(dex_pc)) { in Build()
381 AppendInstruction(new (allocator_) HNativeDebugInfo(dex_pc)); in Build()
387 << " " << pair.Inst().Name() << "@" << dex_pc; in Build()
388 if (!ProcessDexInstruction(pair.Inst(), dex_pc, quicken_index)) { in Build()
[all …]
Dnodes_vector.h80 uint32_t dex_pc) in HVecOperation() argument
84 dex_pc, in HVecOperation()
264 uint32_t dex_pc) in HVecUnaryOperation() argument
271 dex_pc) { in HVecUnaryOperation()
292 uint32_t dex_pc) in HVecBinaryOperation() argument
299 dex_pc) { in HVecBinaryOperation()
323 uint32_t dex_pc) in HVecMemoryOperation() argument
330 dex_pc), in HVecMemoryOperation()
383 uint32_t dex_pc) in HVecReplicateScalar() argument
385 kVecReplicateScalar, allocator, scalar, packed_type, vector_length, dex_pc) { in HVecReplicateScalar()
[all …]
Dblock_builder.cc47 HBasicBlock* HBasicBlockBuilder::MaybeCreateBlockAt(uint32_t dex_pc) { in MaybeCreateBlockAt() argument
48 return MaybeCreateBlockAt(dex_pc, dex_pc); in MaybeCreateBlockAt()
103 const uint32_t dex_pc = pair.DexPc(); in CreateBranchTargets() local
108 MaybeCreateBlockAt(dex_pc + instruction.GetTargetOffset()); in CreateBranchTargets()
111 DexSwitchTable table(instruction, dex_pc); in CreateBranchTargets()
113 MaybeCreateBlockAt(dex_pc + s_it.CurrentTargetOffset()); in CreateBranchTargets()
121 MaybeCreateBlockAt(dex_pc, s_it.GetDexPcForCurrentIndex()); in CreateBranchTargets()
155 const uint32_t dex_pc = pair.DexPc(); in ConnectBasicBlocks() local
159 HBasicBlock* next_block = GetBlockAt(dex_pc); in ConnectBasicBlocks()
162 quicken_index_for_dex_pc_.Put(dex_pc, quicken_index); in ConnectBasicBlocks()
[all …]
Dblock_builder.h45 HBasicBlock* GetBlockAt(uint32_t dex_pc) const { return branch_targets_[dex_pc]; } in GetBlockAt() argument
47 size_t GetQuickenIndex(uint32_t dex_pc) const;
51 HBasicBlock* MaybeCreateBlockAt(uint32_t dex_pc);
Dnodes_x86.h74 uint32_t dex_pc) in HX86FPNeg() argument
75 : HExpression(kX86FPNeg, result_type, SideEffects::None(), dex_pc) { in HX86FPNeg()
98 uint32_t dex_pc) in HX86PackedSwitch() argument
99 : HExpression(kX86PackedSwitch, SideEffects::None(), dex_pc), in HX86PackedSwitch()
136 uint32_t dex_pc = kNoDexPc)
137 : HBinaryOperation(kX86AndNot, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation() argument
172 HInstruction* input, uint32_t dex_pc = kNoDexPc)
173 : HUnaryOperation(kX86MaskOrResetLeastSetBit, result_type, input, dex_pc), in HUnaryOperation() argument
Dnodes.h603 HConstant* GetConstant(DataType::Type type, int64_t value, uint32_t dex_pc = kNoDexPc);
608 HNullConstant* GetNullConstant(uint32_t dex_pc = kNoDexPc);
610 HIntConstant* GetIntConstant(int32_t value, uint32_t dex_pc = kNoDexPc) {
611 return CreateConstant(value, &cached_int_constants_, dex_pc);
613 HLongConstant* GetLongConstant(int64_t value, uint32_t dex_pc = kNoDexPc) {
614 return CreateConstant(value, &cached_long_constants_, dex_pc);
616 HFloatConstant* GetFloatConstant(float value, uint32_t dex_pc = kNoDexPc) {
617 return CreateConstant(bit_cast<int32_t, float>(value), &cached_float_constants_, dex_pc);
619 HDoubleConstant* GetDoubleConstant(double value, uint32_t dex_pc = kNoDexPc) {
620 return CreateConstant(bit_cast<int64_t, double>(value), &cached_double_constants_, dex_pc);
[all …]
Dnodes_shared.h34 uint32_t dex_pc = kNoDexPc)
35 : HExpression(kMultiplyAccumulate, type, SideEffects::None(), dex_pc), in HExpression() argument
71 uint32_t dex_pc = kNoDexPc)
77 dex_pc), in HBinaryOperation() argument
151 HInstruction* index, HInstruction* offset, HInstruction* shift, uint32_t dex_pc) in HIntermediateAddressIndex() argument
155 dex_pc) { in HIntermediateAddressIndex()
204 uint32_t dex_pc = kNoDexPc)
205 : HExpression(kDataProcWithShifterOp, instr->GetType(), SideEffects::None(), dex_pc),
/art/dexdump/
Ddexdump_cfg.cc80 const uint32_t dex_pc = pair.DexPc(); in DumpMethodCFG() local
81 if (dex_pc == 0 || in DumpMethodCFG()
82 (dex_pc_is_branch_target.find(dex_pc) != dex_pc_is_branch_target.end()) || in DumpMethodCFG()
91 dex_pc_to_node_id.insert(std::make_pair(dex_pc, id)); in DumpMethodCFG()
97 dex_pc_to_incl_id.insert(std::make_pair(dex_pc, dex_pc_to_node_id.size() - 1)); in DumpMethodCFG()
107 os << "<" << "p" << dex_pc << ">"; in DumpMethodCFG()
108 os << " 0x" << std::hex << dex_pc << std::dec << ": "; in DumpMethodCFG()
165 const uint32_t dex_pc = pair.DexPc(); in DumpMethodCFG() local
167 auto it = dex_pc_to_node_id.find(dex_pc); in DumpMethodCFG()
183 block_start_dex_pc = dex_pc; in DumpMethodCFG()
[all …]
/art/dex2oat/dex/
Ddex_to_dex_compiler.cc53 QuickenedInfo(uint32_t pc, uint16_t index) : dex_pc(pc), dex_member_index(index) {} in QuickenedInfo()
55 uint32_t dex_pc; member
77 void CompileReturnVoid(Instruction* inst, uint32_t dex_pc);
82 Instruction* CompileCheckCast(Instruction* inst, uint32_t dex_pc);
90 void CompileInstanceFieldAccess(Instruction* inst, uint32_t dex_pc,
99 void CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc,
215 const uint32_t dex_pc = it.DexPc(); in Compile() local
224 CompileReturnVoid(inst, dex_pc); in Compile()
228 inst = CompileCheckCast(inst, dex_pc); in Compile()
238 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_QUICK, false); in Compile()
[all …]
/art/runtime/
Dmonitor-inl.h43 uintptr_t Monitor::LockOwnerInfoChecksum(ArtMethod* m, uint32_t dex_pc, Thread* t) { in LockOwnerInfoChecksum() argument
44 uintptr_t dpc_and_thread = static_cast<uintptr_t>(dex_pc << 8) ^ reinterpret_cast<uintptr_t>(t); in LockOwnerInfoChecksum()
49 void Monitor::SetLockOwnerInfo(ArtMethod* method, uint32_t dex_pc, Thread* t) { in SetLockOwnerInfo() argument
51 lock_owner_dex_pc_.store(dex_pc, std::memory_order_relaxed); in SetLockOwnerInfo()
53 uintptr_t sum = LockOwnerInfoChecksum(method, dex_pc, t); in SetLockOwnerInfo()
57 void Monitor::GetLockOwnerInfo(/*out*/ArtMethod** method, /*out*/uint32_t* dex_pc, in GetLockOwnerInfo() argument
75 *dex_pc = owners_dex_pc; in GetLockOwnerInfo()
78 *dex_pc = 0; in GetLockOwnerInfo()
Dinstrumentation.h81 uint32_t dex_pc) REQUIRES_SHARED(Locks::mutator_lock_) = 0;
86 uint32_t dex_pc,
97 uint32_t dex_pc,
107 uint32_t dex_pc)
121 uint32_t dex_pc,
127 uint32_t dex_pc,
136 uint32_t dex_pc,
153 uint32_t dex_pc,
404 uint32_t dex_pc) const in MethodEnterEvent() argument
407 MethodEnterEventImpl(thread, this_object, method, dex_pc); in MethodEnterEvent()
[all …]
Doat_quick_method_header.cc60 const uint32_t dex_pc, in ToNativeQuickPc() argument
78 LIKELY(is_for_catch_handler) ? code_info.GetCatchStackMapForDexPc(dex_pc) in ToNativeQuickPc()
79 : code_info.GetStackMapForDexPc(dex_pc); in ToNativeQuickPc()
86 LOG(FATAL) << "Failed to find native offset for dex pc 0x" << std::hex << dex_pc in ToNativeQuickPc()
Dinstrumentation.cc64 uint32_t dex_pc, in MethodExited() argument
72 MethodExited(thread, this_object, method, dex_pc, frame, v); in MethodExited()
79 uint32_t dex_pc, in FieldWritten() argument
85 FieldWritten(thread, this_object, method, dex_pc, field, v); in FieldWritten()
146 uint32_t dex_pc = dex::kDexNoIndex; in PopFramesTo() local
151 instrumentation_->MethodUnwindEvent(self_, frame.this_object_, method, dex_pc); in PopFramesTo()
350 uint32_t dex_pc = dex::kDexNoIndex; in InstrumentationInstallStack() local
351 dex_pcs_.push_back(dex_pc); in InstrumentationInstallStack()
375 uint32_t dex_pc = dex::kDexNoIndex; in InstrumentationInstallStack() local
377 dex_pc = GetCurrentOatQuickMethodHeader()->ToDexPc( in InstrumentationInstallStack()
[all …]
/art/compiler/dex/
Dverified_method.cc73 const uint32_t dex_pc = pair.DexPc(); in GenerateSafeCastSet() local
74 if (!method_verifier->GetInstructionFlags(dex_pc).IsVisited()) { in GenerateSafeCastSet()
78 const verifier::RegisterLine* line = method_verifier->GetRegLine(dex_pc); in GenerateSafeCastSet()
79 DCHECK(line != nullptr) << "Did not have line for dex pc 0x" << std::hex << dex_pc; in GenerateSafeCastSet()
103 DCHECK(safe_cast_set_->empty() || safe_cast_set_->back() < dex_pc); in GenerateSafeCastSet()
104 safe_cast_set_->push_back(dex_pc); in GenerateSafeCastSet()
/art/runtime/jit/
Dprofiling_info_test.cc110 for (uint16_t dex_pc = 0; dex_pc < 11; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
113 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
116 for (uint16_t dex_pc = 11; dex_pc < 22; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
121 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
124 for (uint16_t dex_pc = 22; dex_pc < 33; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
129 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
132 for (uint16_t dex_pc = 33; dex_pc < 44; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
134 caches.emplace_back(dex_pc, /*is_missing_types*/true, classes); in SaveProfilingInfoWithFakeInlineCaches()
165 inline_cache.dex_pc, ProfileCompilationInfo::DexPcData(allocator_.get()))->second; in ConvertProfileMethodInfo()
Dprofiling_info.cc70 InlineCache* ProfilingInfo::GetInlineCache(uint32_t dex_pc) { in GetInlineCache() argument
73 if (cache_[i].dex_pc_ == dex_pc) { in GetInlineCache()
77 LOG(FATAL) << "No inline cache found for " << ArtMethod::PrettyMethod(method_) << "@" << dex_pc; in GetInlineCache()
81 void ProfilingInfo::AddInvokeInfo(uint32_t dex_pc, mirror::Class* cls) { in AddInvokeInfo() argument
82 InlineCache* cache = GetInlineCache(dex_pc); in AddInvokeInfo()
/art/tools/veridex/
Dflow_analysis.cc38 void VeriFlowAnalysis::SetAsBranchTarget(uint32_t dex_pc) { in SetAsBranchTarget() argument
39 if (dex_registers_[dex_pc] == nullptr) { in SetAsBranchTarget()
40 dex_registers_[dex_pc].reset( in SetAsBranchTarget()
45 bool VeriFlowAnalysis::IsBranchTarget(uint32_t dex_pc) { in IsBranchTarget() argument
46 return dex_registers_[dex_pc] != nullptr; in IsBranchTarget()
49 bool VeriFlowAnalysis::MergeRegisterValues(uint32_t dex_pc) { in MergeRegisterValues() argument
52 if (!instruction_infos_[dex_pc].has_been_visited) { in MergeRegisterValues()
53 dex_registers_[dex_pc]->assign(current_registers_.begin(), current_registers_.end()); in MergeRegisterValues()
59 void VeriFlowAnalysis::SetVisited(uint32_t dex_pc) { in SetVisited() argument
60 instruction_infos_[dex_pc].has_been_visited = true; in SetVisited()
[all …]
/art/runtime/entrypoints/jni/
Djni_entrypoints.cc37 static inline uint32_t GetInvokeStaticMethodIndex(ArtMethod* caller, uint32_t dex_pc) in GetInvokeStaticMethodIndex() argument
40 const Instruction& instruction = caller->DexInstructions().InstructionAt(dex_pc); in GetInvokeStaticMethodIndex()
53 uint32_t dex_pc; in artFindNativeMethodRunnable() local
54 ArtMethod* method = self->GetCurrentMethod(&dex_pc); in artFindNativeMethodRunnable()
61 uint32_t method_idx = GetInvokeStaticMethodIndex(method, dex_pc); in artFindNativeMethodRunnable()
164 uint32_t dex_pc = inline_infos.empty() ? stack_map.GetDexPc() : inline_infos.back().GetDexPc(); in artCriticalNativeFrameSize() local
168 uint32_t method_idx = GetInvokeStaticMethodIndex(caller, dex_pc); in artCriticalNativeFrameSize()
/art/runtime/verifier/
Dmethod_verifier-inl.h25 inline RegisterLine* MethodVerifier::GetRegLine(uint32_t dex_pc) { in GetRegLine() argument
26 return reg_table_.GetLine(dex_pc); in GetRegLine()
/art/tools/tracefast-plugin/
Dtracefast.cc49 uint32_t dex_pc ATTRIBUTE_UNUSED) in MethodEntered()
55 uint32_t dex_pc ATTRIBUTE_UNUSED, in MethodExited()
63 uint32_t dex_pc ATTRIBUTE_UNUSED, in MethodExited()
71 uint32_t dex_pc ATTRIBUTE_UNUSED) in MethodUnwind()
83 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldRead()
90 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldWritten()
98 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldWritten()
113 uint32_t dex_pc ATTRIBUTE_UNUSED, in Branch()
/art/libdexfile/dex/
Ddex_instruction_iterator.h48 explicit DexInstructionPcPair(const uint16_t* instructions, uint32_t dex_pc) in DexInstructionPcPair() argument
49 : instructions_(instructions), dex_pc_(dex_pc) {} in DexInstructionPcPair()
66 explicit DexInstructionIteratorBase(const Instruction* inst, uint32_t dex_pc) in DexInstructionIteratorBase() argument
67 : data_(reinterpret_cast<const uint16_t*>(inst), dex_pc) {} in DexInstructionIteratorBase()
124 explicit DexInstructionIterator(const uint16_t* inst, uint32_t dex_pc) in DexInstructionIterator() argument
125 : DexInstructionIteratorBase(inst != nullptr ? Instruction::At(inst) : nullptr, dex_pc) {} in DexInstructionIterator()
/art/runtime/interpreter/
Dshadow_frame.h76 ArtMethod* method, uint32_t dex_pc) { in CreateDeoptimizedFrame() argument
78 return CreateShadowFrameImpl(num_vregs, link, method, dex_pc, memory); in CreateDeoptimizedFrame()
90 #define CREATE_SHADOW_FRAME(num_vregs, link, method, dex_pc) ({ \ argument
94 ShadowFrame::CreateShadowFrameImpl((num_vregs), (link), (method), (dex_pc), \
124 void SetDexPC(uint32_t dex_pc) { in SetDexPC() argument
125 dex_pc_ = dex_pc; in SetDexPC()
319 uint32_t dex_pc, in CreateShadowFrameImpl() argument
321 return new (memory) ShadowFrame(num_vregs, link, method, dex_pc); in CreateShadowFrameImpl()
388 ShadowFrame(uint32_t num_vregs, ShadowFrame* link, ArtMethod* method, uint32_t dex_pc) in ShadowFrame() argument
395 dex_pc_(dex_pc), in ShadowFrame()
Dinterpreter_switch_impl.h72 const uint16_t* dex_pc = ctx.accessor.Insns(); in ExecuteSwitchImpl() local
73 ExecuteSwitchImplAsm(&ctx, impl, dex_pc); in ExecuteSwitchImpl()
/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, \

1234