/art/compiler/optimizing/ |
D | instruction_builder.h | 75 bool ProcessDexInstruction(const Instruction& instruction, uint32_t dex_pc, size_t quicken_index); 81 HBasicBlock* FindBlockStartingAt(uint32_t dex_pc) const; 90 HInstruction* LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc); 100 void Unop_12x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 103 void Binop_23x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 106 void Binop_23x_shift(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 111 uint32_t dex_pc); 114 void Binop_12x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 117 void Binop_12x_shift(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 120 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() 384 if (!ProcessDexInstruction(pair.Inst(), dex_pc, quicken_index)) { in Build() 602 void HInstructionBuilder::If_22t(const Instruction& instruction, uint32_t dex_pc) { in If_22t() argument [all …]
|
D | nodes_vector.h | 80 uint32_t dex_pc) in HVecOperation() argument 84 dex_pc, in HVecOperation() 205 uint32_t dex_pc) in HVecUnaryOperation() argument 212 dex_pc) { in HVecUnaryOperation() 233 uint32_t dex_pc) in HVecBinaryOperation() argument 240 dex_pc) { in HVecBinaryOperation() 264 uint32_t dex_pc) in HVecMemoryOperation() argument 271 dex_pc), in HVecMemoryOperation() 324 uint32_t dex_pc) in HVecReplicateScalar() argument 326 kVecReplicateScalar, allocator, scalar, packed_type, vector_length, dex_pc) { in HVecReplicateScalar() [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 | 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 | nodes_mips.h | 48 uint32_t dex_pc) in HMipsPackedSwitch() argument 49 : HExpression(kMipsPackedSwitch, SideEffects::None(), dex_pc), in HMipsPackedSwitch() 96 HIntermediateArrayAddressIndex(HInstruction* index, HInstruction* shift, uint32_t dex_pc) in HIntermediateArrayAddressIndex() argument 100 dex_pc) { in HIntermediateArrayAddressIndex()
|
D | nodes.h | 542 HConstant* GetConstant(DataType::Type type, int64_t value, uint32_t dex_pc = kNoDexPc); 547 HNullConstant* GetNullConstant(uint32_t dex_pc = kNoDexPc); 549 HIntConstant* GetIntConstant(int32_t value, uint32_t dex_pc = kNoDexPc) { 550 return CreateConstant(value, &cached_int_constants_, dex_pc); 552 HLongConstant* GetLongConstant(int64_t value, uint32_t dex_pc = kNoDexPc) { 553 return CreateConstant(value, &cached_long_constants_, dex_pc); 555 HFloatConstant* GetFloatConstant(float value, uint32_t dex_pc = kNoDexPc) { 556 return CreateConstant(bit_cast<int32_t, float>(value), &cached_float_constants_, dex_pc); 558 HDoubleConstant* GetDoubleConstant(double value, uint32_t dex_pc = kNoDexPc) { 559 return CreateConstant(bit_cast<int64_t, double>(value), &cached_double_constants_, dex_pc); [all …]
|
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_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),
|
D | stack_map_stream.cc | 71 void StackMapStream::BeginStackMapEntry(uint32_t dex_pc, in BeginStackMapEntry() argument 84 current_stack_map_[StackMap::kDexPc] = dex_pc; in BeginStackMapEntry() 120 StackMap stack_map = code_info.GetCatchStackMapForDexPc(dex_pc); in BeginStackMapEntry() 126 CHECK_EQ(stack_map.GetDexPc(), dex_pc); in BeginStackMapEntry() 170 uint32_t dex_pc, in BeginInlineInfoEntry() argument 182 entry[InlineInfo::kDexPc] = dex_pc; in BeginInlineInfoEntry() 188 if (dex_pc != static_cast<uint32_t>(-1) && kIsDebugBuild) { in BeginInlineInfoEntry() 203 CHECK_EQ(inline_info.GetDexPc(), dex_pc); in BeginInlineInfoEntry()
|
/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/jit/ |
D | profiling_info_test.cc | 142 for (uint16_t dex_pc = 0; dex_pc < 11; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local 145 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches() 148 for (uint16_t dex_pc = 11; dex_pc < 22; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local 153 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches() 156 for (uint16_t dex_pc = 22; dex_pc < 33; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local 161 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); in SaveProfilingInfoWithFakeInlineCaches() 164 for (uint16_t dex_pc = 33; dex_pc < 44; dex_pc++) { in SaveProfilingInfoWithFakeInlineCaches() local 166 caches.emplace_back(dex_pc, /*is_missing_types*/true, classes); in SaveProfilingInfoWithFakeInlineCaches() 197 inline_cache.dex_pc, ProfileCompilationInfo::DexPcData(allocator_.get()))->second; in ConvertProfileMethodInfo()
|
D | profiling_info.cc | 71 InlineCache* ProfilingInfo::GetInlineCache(uint32_t dex_pc) { in GetInlineCache() argument 74 if (cache_[i].dex_pc_ == dex_pc) { in GetInlineCache() 78 LOG(FATAL) << "No inline cache found for " << ArtMethod::PrettyMethod(method_) << "@" << dex_pc; in GetInlineCache() 82 void ProfilingInfo::AddInvokeInfo(uint32_t dex_pc, mirror::Class* cls) { in AddInvokeInfo() argument 83 InlineCache* cache = GetInlineCache(dex_pc); in AddInvokeInfo()
|
/art/runtime/ |
D | instrumentation.h | 74 uint32_t dex_pc) REQUIRES_SHARED(Locks::mutator_lock_) = 0; 79 uint32_t dex_pc, 89 uint32_t dex_pc, 98 uint32_t dex_pc) 112 uint32_t dex_pc, 118 uint32_t dex_pc, 127 uint32_t dex_pc, 144 uint32_t dex_pc, 392 ArtMethod* method, uint32_t dex_pc) const in MethodEnterEvent() argument 395 MethodEnterEventImpl(thread, this_object, method, dex_pc); in MethodEnterEvent() [all …]
|
D | oat_quick_method_header.cc | 54 const uint32_t dex_pc, in ToNativeQuickPc() argument 67 LIKELY(is_for_catch_handler) ? code_info.GetCatchStackMapForDexPc(dex_pc) in ToNativeQuickPc() 68 : code_info.GetStackMapForDexPc(dex_pc); in ToNativeQuickPc() 75 LOG(FATAL) << "Failed to find native offset for dex pc 0x" << std::hex << dex_pc in ToNativeQuickPc()
|
D | instrumentation.cc | 60 uint32_t dex_pc, in MethodExited() argument 66 MethodExited(thread, this_object, method, dex_pc, v); in MethodExited() 72 uint32_t dex_pc, in FieldWritten() argument 78 FieldWritten(thread, this_object, method, dex_pc, field, v); in FieldWritten() 133 uint32_t dex_pc = dex::kDexNoIndex; in PopFramesTo() local 138 instrumentation_->MethodUnwindEvent(self_, frame.this_object_, method, dex_pc); in PopFramesTo() 314 uint32_t dex_pc = dex::kDexNoIndex; in InstrumentationInstallStack() local 315 dex_pcs_.push_back(dex_pc); in InstrumentationInstallStack() 342 uint32_t dex_pc = dex::kDexNoIndex; in InstrumentationInstallStack() local 345 dex_pc = GetCurrentOatQuickMethodHeader()->ToDexPc(m, last_return_pc_); 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() 102 DCHECK(safe_cast_set_->empty() || safe_cast_set_->back() < dex_pc); in GenerateSafeCastSet() 103 safe_cast_set_->push_back(dex_pc); in GenerateSafeCastSet()
|
/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/tools/tracefast-plugin/ |
D | tracefast.cc | 48 uint32_t dex_pc ATTRIBUTE_UNUSED) in MethodEntered() 54 uint32_t dex_pc ATTRIBUTE_UNUSED, in MethodExited() 61 uint32_t dex_pc ATTRIBUTE_UNUSED, in MethodExited() 68 uint32_t dex_pc ATTRIBUTE_UNUSED) in MethodUnwind() 80 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldRead() 87 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldWritten() 95 uint32_t dex_pc ATTRIBUTE_UNUSED, in FieldWritten() 110 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/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/libprofile/profile/ |
D | profile_compilation_info_test.cc | 89 for (uint16_t dex_pc = 0; dex_pc < 11; dex_pc++) { in GetOfflineProfileMethodInfo() local 92 ic_map->Put(dex_pc, dex_pc_data); in GetOfflineProfileMethodInfo() 95 for (uint16_t dex_pc = 11; dex_pc < 22; dex_pc++) { in GetOfflineProfileMethodInfo() local 101 ic_map->Put(dex_pc, dex_pc_data); in GetOfflineProfileMethodInfo() 104 for (uint16_t dex_pc = 22; dex_pc < 33; dex_pc++) { in GetOfflineProfileMethodInfo() local 107 ic_map->Put(dex_pc, dex_pc_data); in GetOfflineProfileMethodInfo() 110 for (uint16_t dex_pc = 33; dex_pc < 44; dex_pc++) { in GetOfflineProfileMethodInfo() local 113 ic_map->Put(dex_pc, dex_pc_data); in GetOfflineProfileMethodInfo() 561 for (uint16_t dex_pc = 1; dex_pc < 5; dex_pc++) { in TEST_F() local 565 ic_map->Put(dex_pc, dex_pc_data); in TEST_F() [all …]
|
/art/runtime/interpreter/ |
D | shadow_frame.h | 71 ArtMethod* method, uint32_t dex_pc) { in CreateDeoptimizedFrame() argument 73 return CreateShadowFrameImpl(num_vregs, link, method, dex_pc, memory); in CreateDeoptimizedFrame() 85 #define CREATE_SHADOW_FRAME(num_vregs, link, method, dex_pc) ({ \ argument 89 ShadowFrame::CreateShadowFrameImpl((num_vregs), (link), (method), (dex_pc), \ 125 void SetDexPC(uint32_t dex_pc) { in SetDexPC() argument 126 dex_pc_ = dex_pc; in SetDexPC() 336 uint32_t dex_pc, in CreateShadowFrameImpl() argument 338 return new (memory) ShadowFrame(num_vregs, link, method, dex_pc, true); in CreateShadowFrameImpl() 390 uint32_t dex_pc, bool has_reference_array) in ShadowFrame() argument 397 dex_pc_(dex_pc), in ShadowFrame()
|
/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, \
|