Home
last modified time | relevance | path

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

1234

/art/compiler/optimizing/
Dinstruction_builder.h72 bool ProcessDexInstruction(const Instruction& instruction, uint32_t dex_pc);
75 HBasicBlock* FindBlockStartingAt(uint32_t dex_pc) const;
84 HInstruction* LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc);
94 void Unop_12x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
97 void Binop_23x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
100 void Binop_23x_shift(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
105 uint32_t dex_pc);
108 void Binop_12x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
111 void Binop_12x_shift(const Instruction& instruction, DataType::Type type, uint32_t dex_pc);
114 void Binop_22b(const Instruction& instruction, bool reverse, uint32_t dex_pc);
[all …]
Dinstruction_builder.cc119 HBasicBlock* HInstructionBuilder::FindBlockStartingAt(uint32_t dex_pc) const { in FindBlockStartingAt()
120 return block_builder_->GetBlockAt(dex_pc); in FindBlockStartingAt()
310 HInstruction* HInstructionBuilder::LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc) { in LoadNullCheckedLocal() argument
316 HNullCheck* null_check = new (allocator_) HNullCheck(ref, dex_pc); in LoadNullCheckedLocal()
416 const uint32_t dex_pc = pair.DexPc(); in Build() local
417 if (dex_pc != block_dex_pc && FindBlockStartingAt(dex_pc) != nullptr) { in Build()
426 if (native_debuggable && native_debug_info_locations->IsBitSet(dex_pc)) { in Build()
427 AppendInstruction(new (allocator_) HNop(dex_pc, /* needs_environment= */ true)); in Build()
433 << " " << pair.Inst().Name() << "@" << dex_pc; in Build()
434 if (!ProcessDexInstruction(pair.Inst(), dex_pc)) { in Build()
[all …]
Dnodes_vector.h80 uint32_t dex_pc) in HVecOperation() argument
84 dex_pc, in HVecOperation()
273 uint32_t dex_pc) in HVecUnaryOperation() argument
280 dex_pc) { in HVecUnaryOperation()
301 uint32_t dex_pc) in HVecBinaryOperation() argument
308 dex_pc) { in HVecBinaryOperation()
332 uint32_t dex_pc) in HVecMemoryOperation() argument
339 dex_pc), in HVecMemoryOperation()
392 uint32_t dex_pc) in HVecReplicateScalar() argument
394 kVecReplicateScalar, allocator, scalar, packed_type, vector_length, dex_pc) { in HVecReplicateScalar()
[all …]
Dblock_builder.cc43 HBasicBlock* HBasicBlockBuilder::MaybeCreateBlockAt(uint32_t dex_pc) { in MaybeCreateBlockAt() argument
44 return MaybeCreateBlockAt(dex_pc, dex_pc); in MaybeCreateBlockAt()
99 const uint32_t dex_pc = pair.DexPc(); in CreateBranchTargets() local
103 MaybeCreateBlockAt(dex_pc + instruction.GetTargetOffset()); in CreateBranchTargets()
105 DexSwitchTable table(instruction, dex_pc); in CreateBranchTargets()
107 MaybeCreateBlockAt(dex_pc + s_it.CurrentTargetOffset()); in CreateBranchTargets()
115 MaybeCreateBlockAt(dex_pc, s_it.GetDexPcForCurrentIndex()); in CreateBranchTargets()
148 const uint32_t dex_pc = pair.DexPc(); in ConnectBasicBlocks() local
152 HBasicBlock* next_block = GetBlockAt(dex_pc); in ConnectBasicBlocks()
176 uint32_t target_dex_pc = dex_pc + instruction.GetTargetOffset(); in ConnectBasicBlocks()
[all …]
Dprofiling_info_builder.cc83 uint32_t dex_pc = EncodeDexPc(invoke, compiler_options_); in HandleInvoke() local
84 if (dex_pc != kNoDexPc) { in HandleInvoke()
85 inline_caches_.push_back(dex_pc); in HandleInvoke()
136 uint32_t dex_pc = EncodeDexPc(instruction, compiler_options); in GetInlineCache() local
137 if (dex_pc == kNoDexPc) { in GetInlineCache()
140 return info->GetInlineCache(dex_pc); in GetInlineCache()
Dblock_builder.h45 HBasicBlock* GetBlockAt(uint32_t dex_pc) const { return branch_targets_[dex_pc]; } in GetBlockAt() argument
49 HBasicBlock* MaybeCreateBlockAt(uint32_t dex_pc);
Dnodes.h634 HConstant* GetConstant(DataType::Type type, int64_t value, uint32_t dex_pc = kNoDexPc);
639 HNullConstant* GetNullConstant(uint32_t dex_pc = kNoDexPc);
641 HIntConstant* GetIntConstant(int32_t value, uint32_t dex_pc = kNoDexPc) {
642 return CreateConstant(value, &cached_int_constants_, dex_pc);
644 HLongConstant* GetLongConstant(int64_t value, uint32_t dex_pc = kNoDexPc) {
645 return CreateConstant(value, &cached_long_constants_, dex_pc);
647 HFloatConstant* GetFloatConstant(float value, uint32_t dex_pc = kNoDexPc) {
648 return CreateConstant(bit_cast<int32_t, float>(value), &cached_float_constants_, dex_pc);
650 HDoubleConstant* GetDoubleConstant(double value, uint32_t dex_pc = kNoDexPc) {
651 return CreateConstant(bit_cast<int64_t, double>(value), &cached_double_constants_, dex_pc);
[all …]
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_shared.h34 uint32_t dex_pc = kNoDexPc)
35 : HExpression(kMultiplyAccumulate, type, SideEffects::None(), dex_pc), in HExpression() argument
85 HInstruction* index, HInstruction* offset, HInstruction* shift, uint32_t dex_pc) in HIntermediateAddressIndex() argument
89 dex_pc) { in HIntermediateAddressIndex()
138 uint32_t dex_pc = kNoDexPc)
139 : 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/runtime/
Dmonitor-inl.h43 inline 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 inline 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()
58 /*out*/ uint32_t* dex_pc, in GetLockOwnerInfo() argument
76 *dex_pc = owners_dex_pc; in GetLockOwnerInfo()
79 *dex_pc = 0; in GetLockOwnerInfo()
Dinstrumentation.h99 uint32_t dex_pc)
113 uint32_t dex_pc,
119 uint32_t dex_pc,
128 uint32_t dex_pc,
145 uint32_t dex_pc,
466 uint32_t dex_pc) const
473 uint32_t dex_pc) const in DexPcMovedEvent() argument
476 DexPcMovedEventImpl(thread, this_object, method, dex_pc); in DexPcMovedEvent()
481 void Branch(Thread* thread, ArtMethod* method, uint32_t dex_pc, int32_t offset) const in Branch() argument
484 BranchImpl(thread, method, dex_pc, offset); in Branch()
[all …]
Dcheck_reference_map_visitor.h65 uint32_t dex_pc, in CheckReferences() argument
71 registers, number_of_references, dex_pc, native_pc_offset, search_for_valid_stack_map); in CheckReferences()
77 uint32_t dex_pc, in CheckOptimizedMethod() argument
86 if (map.GetDexPc() == dex_pc && code_info.GetStackMaskOf(map).IsValid()) { in CheckOptimizedMethod()
/art/runtime/jit/
Dprofiling_info_test.cc114 for (uint16_t dex_pc = 0; dex_pc < 11; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
117 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
120 for (uint16_t dex_pc = 11; dex_pc < 22; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
125 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
128 for (uint16_t dex_pc = 22; dex_pc < 33; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
133 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches()
136 for (uint16_t dex_pc = 33; dex_pc < 44; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local
138 caches.emplace_back(dex_pc, /*is_missing_types*/true, classes); in SaveProfilingInfoWithFakeInlineCaches()
Dprofiling_info.cc91 InlineCache* ProfilingInfo::GetInlineCache(uint32_t dex_pc) { in GetInlineCache() argument
95 if (caches[i].dex_pc_ == dex_pc) { in GetInlineCache()
102 BranchCache* ProfilingInfo::GetBranchCache(uint32_t dex_pc) { in GetBranchCache() argument
106 if (caches[i].dex_pc_ == dex_pc) { in GetBranchCache()
115 void ProfilingInfo::AddInvokeInfo(uint32_t dex_pc, mirror::Class* cls) { in AddInvokeInfo() argument
116 InlineCache* cache = GetInlineCache(dex_pc); in AddInvokeInfo()
179 uint32_t dex_pc = dex_pcs[size - 1]; in EncodeDexPc() local
183 dex_pc += ((dex_pcs[i - 1] + 1) << shift); in EncodeDexPc()
186 return dex_pc; in EncodeDexPc()
/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
50 if (dex_pc >= code_item_accessor_.InsnsSizeInCodeUnits()) { in MergeRegisterValues()
55 if (!instruction_infos_[dex_pc].has_been_visited) { in MergeRegisterValues()
56 dex_registers_[dex_pc]->assign(current_registers_.begin(), current_registers_.end()); in MergeRegisterValues()
62 void VeriFlowAnalysis::SetVisited(uint32_t dex_pc) { in SetVisited() argument
[all …]
/art/runtime/entrypoints/jni/
Djni_entrypoints.cc38 static inline uint32_t GetInvokeStaticMethodIndex(ArtMethod* caller, uint32_t dex_pc) in GetInvokeStaticMethodIndex() argument
41 const Instruction& instruction = caller->DexInstructions().InstructionAt(dex_pc); in GetInvokeStaticMethodIndex()
54 uint32_t dex_pc; in artFindNativeMethodRunnable() local
55 ArtMethod* method = self->GetCurrentMethod(&dex_pc); in artFindNativeMethodRunnable()
62 uint32_t method_idx = GetInvokeStaticMethodIndex(method, dex_pc); in artFindNativeMethodRunnable()
173 uint32_t dex_pc = inline_infos.empty() ? stack_map.GetDexPc() : inline_infos.back().GetDexPc(); in artCriticalNativeFrameSize() local
177 uint32_t method_idx = GetInvokeStaticMethodIndex(caller, dex_pc); in artCriticalNativeFrameSize()
/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()
68 explicit DexInstructionIteratorBase(const Instruction* inst, uint32_t dex_pc) in DexInstructionIteratorBase() argument
69 : data_(reinterpret_cast<const uint16_t*>(inst), dex_pc) {} in DexInstructionIteratorBase()
126 explicit DexInstructionIterator(const uint16_t* inst, uint32_t dex_pc) in DexInstructionIterator() argument
127 : DexInstructionIteratorBase(inst != nullptr ? Instruction::At(inst) : nullptr, dex_pc) {} in DexInstructionIterator()
/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, \
33 dex_pc, \
/art/runtime/mirror/
Dstack_frame_info.cc35 int32_t dex_pc) { in AssignFields() argument
38 file_name.Get(), line_number, dex_pc); in AssignFields()
41 file_name.Get(), line_number, dex_pc); in AssignFields()
/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/runtime/interpreter/
Dshadow_frame.h80 uint32_t dex_pc) { in CreateDeoptimizedFrame() argument
82 return CreateShadowFrameImpl(num_vregs, method, dex_pc, memory); in CreateDeoptimizedFrame()
94 #define CREATE_SHADOW_FRAME(num_vregs, method, dex_pc) ({ \ argument
98 ShadowFrame::CreateShadowFrameImpl((num_vregs), (method), (dex_pc), (alloca_mem))); \
127 void SetDexPC(uint32_t dex_pc) { in SetDexPC() argument
128 dex_pc_ = dex_pc; in SetDexPC()
326 uint32_t dex_pc, in CreateShadowFrameImpl() argument
328 return new (memory) ShadowFrame(num_vregs, method, dex_pc); in CreateShadowFrameImpl()
403 ShadowFrame(uint32_t num_vregs, ArtMethod* method, uint32_t dex_pc) in ShadowFrame() argument
410 dex_pc_(dex_pc), in ShadowFrame()
Dinterpreter_switch_impl0.cc111 uint32_t dex_pc, in Branch() argument
115 instrumentation->Branch(self, method, dex_pc, dex_pc_offset); in Branch()
126 uint32_t dex_pc, in DoDexPcMoveEvent() argument
140 dex_pc); in DoDexPcMoveEvent()
/art/runtime/oat/
Doat_quick_method_header.cc65 const uint32_t dex_pc, in ToNativeQuickPc() argument
75 StackMap stack_map = code_info.GetStackMapForDexPc(dex_pc); in ToNativeQuickPc()
81 LOG(FATAL) << "Failed to find native offset for dex pc 0x" << std::hex << dex_pc << " in " in ToNativeQuickPc()
111 for (auto dex_pc : dex_pc_list) { in ToNativeQuickPcForCatchHandlers() local
116 ss << "0x" << dex_pc; in ToNativeQuickPcForCatchHandlers()
/art/libprofile/profile/
Dprofile_test_helper.h108 [](auto&& lhs, auto&& rhs) { return lhs.dex_pc < rhs.dex_pc; })); in EqualInlineCaches()
112 uint32_t dex_pc = it->first; in EqualInlineCaches() local
114 if (dex_pc != expected_it->dex_pc) { in EqualInlineCaches()

1234