/art/compiler/optimizing/ |
instruction_builder.h | 74 bool ProcessDexInstruction(const Instruction& instruction, uint32_t dex_pc, size_t quicken_index); 80 HBasicBlock* FindBlockStartingAt(uint32_t dex_pc) const; 89 HInstruction* LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc); 104 void Unop_12x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 107 void Binop_23x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 110 void Binop_23x_shift(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 115 uint32_t dex_pc); 118 void Binop_12x(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 121 void Binop_12x_shift(const Instruction& instruction, DataType::Type type, uint32_t dex_pc); 124 void Binop_22b(const Instruction& instruction, bool reverse, uint32_t dex_pc); [all...] |
block_builder.h | 35 // Creates basic blocks in `graph_` at branch target dex_pc positions of the 45 HBasicBlock* GetBlockAt(uint32_t dex_pc) const { return branch_targets_[dex_pc]; } 47 size_t GetQuickenIndex(uint32_t dex_pc) const; 50 // Creates a basic block starting at given `dex_pc`. 51 HBasicBlock* MaybeCreateBlockAt(uint32_t dex_pc); 55 // share the same semantic dex_pc, e.g. when building switch decision trees.
|
instruction_builder.cc | 80 HBasicBlock* HInstructionBuilder::FindBlockStartingAt(uint32_t dex_pc) const { 81 return block_builder_->GetBlockAt(dex_pc); 271 HInstruction* HInstructionBuilder::LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc) { 277 HNullCheck* null_check = new (allocator_) HNullCheck(ref, dex_pc); 370 const uint32_t dex_pc = pair.DexPc(); local 371 if (dex_pc != block_dex_pc && FindBlockStartingAt(dex_pc) != nullptr) { 372 // This dex_pc starts a new basic block. 380 if (native_debuggable && native_debug_info_locations->IsBitSet(dex_pc)) { 381 AppendInstruction(new (allocator_) HNativeDebugInfo(dex_pc)); [all...] |
nodes_mips.h | 48 uint32_t dex_pc) 49 : HTemplateInstruction(kMipsPackedSwitch, SideEffects::None(), dex_pc), 96 HIntermediateArrayAddressIndex(HInstruction* index, HInstruction* shift, uint32_t dex_pc) 100 dex_pc) {
|
nodes_vector.h | 80 uint32_t dex_pc) 83 dex_pc, 209 uint32_t dex_pc) 216 dex_pc) { 237 uint32_t dex_pc) 244 dex_pc) { 268 uint32_t dex_pc) 275 dex_pc), 328 uint32_t dex_pc) 330 kVecReplicateScalar, allocator, scalar, packed_type, vector_length, dex_pc) { [all...] |
nodes_x86.h | 74 uint32_t dex_pc) 75 : HExpression(kX86FPNeg, result_type, SideEffects::None(), dex_pc) { 98 uint32_t dex_pc) 99 : HTemplateInstruction(kX86PackedSwitch, SideEffects::None(), dex_pc),
|
block_builder.cc | 38 : /* fake dex_pc=0 for intrinsic graph */ 1u, 47 HBasicBlock* HBasicBlockBuilder::MaybeCreateBlockAt(uint32_t dex_pc) { 48 return MaybeCreateBlockAt(dex_pc, dex_pc); 103 const uint32_t dex_pc = pair.DexPc(); local 108 MaybeCreateBlockAt(dex_pc + instruction.GetTargetOffset()); 111 DexSwitchTable table(instruction, dex_pc); 113 MaybeCreateBlockAt(dex_pc + s_it.CurrentTargetOffset()); 118 // Store the block under dex_pc of the current key at the switch data 119 // instruction for uniqueness but give it the dex_pc of the SWITC 155 const uint32_t dex_pc = pair.DexPc(); local [all...] |
nodes_shared.h | 34 uint32_t dex_pc = kNoDexPc) 35 : HExpression(kMultiplyAccumulate, type, SideEffects::None(), dex_pc), 71 uint32_t dex_pc = kNoDexPc) 77 dex_pc), 151 HInstruction* index, HInstruction* offset, HInstruction* shift, uint32_t dex_pc) 155 dex_pc) { 204 uint32_t dex_pc = kNoDexPc) 205 : HExpression(kDataProcWithShifterOp, instr->GetType(), SideEffects::None(), dex_pc),
|
nodes.h | 530 HConstant* GetConstant(DataType::Type type, int64_t value, uint32_t dex_pc = kNoDexPc); 535 HNullConstant* GetNullConstant(uint32_t dex_pc = kNoDexPc); 537 HIntConstant* GetIntConstant(int32_t value, uint32_t dex_pc = kNoDexPc) { 538 return CreateConstant(value, &cached_int_constants_, dex_pc); 540 HLongConstant* GetLongConstant(int64_t value, uint32_t dex_pc = kNoDexPc) { 541 return CreateConstant(value, &cached_long_constants_, dex_pc); 543 HFloatConstant* GetFloatConstant(float value, uint32_t dex_pc = kNoDexPc) { 544 return CreateConstant(bit_cast<int32_t, float>(value), &cached_float_constants_, dex_pc); 546 HDoubleConstant* GetDoubleConstant(double value, uint32_t dex_pc = kNoDexPc) { 547 return CreateConstant(bit_cast<int64_t, double>(value), &cached_double_constants_, dex_pc); [all...] |
/art/dexdump/ |
dexdump_cfg.cc | 82 const uint32_t dex_pc = pair.DexPc(); local 83 if (dex_pc == 0 || 84 (dex_pc_is_branch_target.find(dex_pc) != dex_pc_is_branch_target.end()) || 93 dex_pc_to_node_id.insert(std::make_pair(dex_pc, id)); 99 dex_pc_to_incl_id.insert(std::make_pair(dex_pc, dex_pc_to_node_id.size() - 1)); 109 os << "<" << "p" << dex_pc << ">"; local 110 os << " 0x" << std::hex << dex_pc << std::dec << ": "; 167 const uint32_t dex_pc = pair.DexPc(); local 169 auto it = dex_pc_to_node_id.find(dex_pc); 185 block_start_dex_pc = dex_pc; 193 << " -> node" << last_node_id << ":p" << dex_pc local [all...] |
/art/compiler/dex/ |
dex_to_dex_compiler.cc | 51 QuickenedInfo(uint32_t pc, uint16_t index) : dex_pc(pc), dex_member_index(index) {} 53 uint32_t dex_pc; member in struct:art::optimizer::DexToDexCompiler::CompilationState::QuickenedInfo 75 void CompileReturnVoid(Instruction* inst, uint32_t dex_pc); 80 Instruction* CompileCheckCast(Instruction* inst, uint32_t dex_pc); 88 void CompileInstanceFieldAccess(Instruction* inst, uint32_t dex_pc, 97 void CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc, 213 const uint32_t dex_pc = it.DexPc(); local 222 CompileReturnVoid(inst, dex_pc); 226 inst = CompileCheckCast(inst, dex_pc); 236 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_QUICK, false) [all...] |
verified_method.cc | 73 const uint32_t dex_pc = pair.DexPc(); local 74 if (!method_verifier->GetInstructionFlags(dex_pc).IsVisited()) { 78 const verifier::RegisterLine* line = method_verifier->GetRegLine(dex_pc); 102 DCHECK(safe_cast_set_->empty() || safe_cast_set_->back() < dex_pc); 103 safe_cast_set_->push_back(dex_pc);
|
/art/runtime/jit/ |
profiling_info.cc | 71 InlineCache* ProfilingInfo::GetInlineCache(uint32_t dex_pc) { 74 if (cache_[i].dex_pc_ == dex_pc) { 78 LOG(FATAL) << "No inline cache found for " << ArtMethod::PrettyMethod(method_) << "@" << dex_pc; 82 void ProfilingInfo::AddInvokeInfo(uint32_t dex_pc, mirror::Class* cls) { 83 InlineCache* cache = GetInlineCache(dex_pc);
|
profile_compilation_info_test.cc | 143 for (uint16_t dex_pc = 0; dex_pc < 11; dex_pc++) { 146 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); 149 for (uint16_t dex_pc = 11; dex_pc < 22; dex_pc++) { 154 caches.emplace_back(dex_pc, /*is_missing_types*/false, classes); 157 for (uint16_t dex_pc = 22; dex_pc < 33; dex_pc++) [all...] |
/art/runtime/ |
oat_quick_method_header.cc | 67 const uint32_t dex_pc, 81 LIKELY(is_for_catch_handler) ? code_info.GetCatchStackMapForDexPc(dex_pc, encoding) 82 : code_info.GetStackMapForDexPc(dex_pc, encoding); 89 LOG(FATAL) << "Failed to find native offset for dex pc 0x" << std::hex << dex_pc
|
instrumentation.h | 61 // the events they are listening for. The call backs supply the thread, method and dex_pc the event 71 uint32_t dex_pc) REQUIRES_SHARED(Locks::mutator_lock_) = 0; 76 uint32_t dex_pc, 86 uint32_t dex_pc, 95 uint32_t dex_pc) 109 uint32_t dex_pc, 115 uint32_t dex_pc, 124 uint32_t dex_pc, 141 uint32_t dex_pc, 149 uint32_t dex_pc, [all...] |
instrumentation.cc | 57 uint32_t dex_pc, 63 MethodExited(thread, this_object, method, dex_pc, v); 69 uint32_t dex_pc, 75 FieldWritten(thread, this_object, method, dex_pc, field, v); 253 uint32_t dex_pc = dex::kDexNoIndex; local 254 dex_pcs_.push_back(dex_pc); 280 uint32_t dex_pc = dex::kDexNoIndex; local 283 dex_pc = GetCurrentOatQuickMethodHeader()->ToDexPc(m, last_return_pc_); 289 << " dex pc: " << dex_pc; local 314 uint32_t dex_pc = dex::kDexNoIndex local 355 uint32_t dex_pc = visitor.dex_pcs_.back(); local 1368 uint32_t dex_pc = dex::kDexNoIndex; local 1437 uint32_t dex_pc = dex::kDexNoIndex; local [all...] |
/art/libdexfile/dex/ |
dex_instruction_iterator.h | 48 explicit DexInstructionPcPair(const uint16_t* instructions, uint32_t dex_pc) 49 : instructions_(instructions), dex_pc_(dex_pc) {} 67 explicit DexInstructionIteratorBase(const Instruction* inst, uint32_t dex_pc) 68 : data_(reinterpret_cast<const uint16_t*>(inst), dex_pc) {} 125 explicit DexInstructionIterator(const uint16_t* inst, uint32_t dex_pc) 126 : DexInstructionIteratorBase(Instruction::At(inst), dex_pc) {}
|
code_item_accessors.h | 55 const Instruction& InstructionAt(uint32_t dex_pc) const { 56 DCHECK_LT(dex_pc, InsnsSizeInCodeUnits()); 57 return *Instruction::At(insns_ + dex_pc);
|
/system/core/libunwindstack/include/unwindstack/ |
Regs.h | 63 uint64_t dex_pc() { return dex_pc_; } function in class:unwindstack::Regs 64 void set_dex_pc(uint64_t dex_pc) { dex_pc_ = dex_pc; }
|
/art/runtime/interpreter/ |
interpreter_switch_impl.h | 72 const uint16_t* dex_pc = ctx.accessor.Insns(); local 73 ExecuteSwitchImplAsm(&ctx, impl, dex_pc);
|
shadow_frame.h | 60 ArtMethod* method, uint32_t dex_pc) { 62 return CreateShadowFrameImpl(num_vregs, link, method, dex_pc, memory); 74 #define CREATE_SHADOW_FRAME(num_vregs, link, method, dex_pc) ({ \ 78 ShadowFrame::CreateShadowFrameImpl((num_vregs), (link), (method), (dex_pc), \ 114 void SetDexPC(uint32_t dex_pc) { 115 dex_pc_ = dex_pc; 339 uint32_t dex_pc, 341 return new (memory) ShadowFrame(num_vregs, link, method, dex_pc, true); 366 uint32_t dex_pc, bool has_reference_array) 373 dex_pc_(dex_pc), [all...] |
/art/runtime/verifier/ |
method_verifier-inl.h | 31 inline RegisterLine* MethodVerifier::GetRegLine(uint32_t dex_pc) { 32 return reg_table_.GetLine(dex_pc);
|
/art/test/004-ReferenceMap/ |
stack_walk_refmap_jni.cc | 23 #define CHECK_REGS_CONTAIN_REFS(dex_pc, abort_if_not_found, ...) do { \ 28 dex_pc, \
|
/art/tools/veridex/ |
flow_analysis.cc | 30 void VeriFlowAnalysis::SetAsBranchTarget(uint32_t dex_pc) { 31 if (dex_registers_[dex_pc] == nullptr) { 32 dex_registers_[dex_pc].reset( 37 bool VeriFlowAnalysis::IsBranchTarget(uint32_t dex_pc) { 38 return dex_registers_[dex_pc] != nullptr; 41 bool VeriFlowAnalysis::MergeRegisterValues(uint32_t dex_pc) { 44 if (!instruction_infos_[dex_pc].has_been_visited) { 45 dex_registers_[dex_pc]->assign(current_registers_.begin(), current_registers_.end()); 51 void VeriFlowAnalysis::SetVisited(uint32_t dex_pc) { 52 instruction_infos_[dex_pc].has_been_visited = true 81 const uint32_t dex_pc = pair.DexPc(); local 190 uint32_t dex_pc = work_list.back(); local [all...] |