/art/compiler/optimizing/ |
D | instruction_builder.h | 73 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 …]
|
D | instruction_builder.cc | 80 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 …]
|
D | nodes_vector.h | 80 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 …]
|
D | block_builder.cc | 47 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 …]
|
D | block_builder.h | 45 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);
|
D | nodes_x86.h | 74 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
|
D | nodes.h | 603 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 …]
|
D | nodes_shared.h | 34 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/ |
D | dexdump_cfg.cc | 80 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/ |
D | dex_to_dex_compiler.cc | 53 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/ |
D | monitor-inl.h | 43 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()
|
D | instrumentation.h | 81 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 …]
|
D | oat_quick_method_header.cc | 60 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()
|
D | instrumentation.cc | 64 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/ |
D | verified_method.cc | 73 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/ |
D | profiling_info_test.cc | 110 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()
|
D | profiling_info.cc | 70 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/ |
D | flow_analysis.cc | 38 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/ |
D | jni_entrypoints.cc | 37 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/ |
D | method_verifier-inl.h | 25 inline RegisterLine* MethodVerifier::GetRegLine(uint32_t dex_pc) { in GetRegLine() argument 26 return reg_table_.GetLine(dex_pc); in GetRegLine()
|
/art/tools/tracefast-plugin/ |
D | tracefast.cc | 49 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/ |
D | dex_instruction_iterator.h | 48 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/ |
D | shadow_frame.h | 76 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()
|
D | interpreter_switch_impl.h | 72 const uint16_t* dex_pc = ctx.accessor.Insns(); in ExecuteSwitchImpl() local 73 ExecuteSwitchImplAsm(&ctx, impl, dex_pc); in ExecuteSwitchImpl()
|
/art/test/004-ReferenceMap/ |
D | stack_walk_refmap_jni.cc | 23 #define CHECK_REGS_CONTAIN_REFS(dex_pc, abort_if_not_found, ...) do { \ argument 28 dex_pc, \
|