/art/compiler/dex/ |
H A D | dex_to_dex_compiler.cc | 41 QuickenedInfo(uint32_t pc, uint16_t index) : dex_pc(pc), dex_member_index(index) {} 43 uint32_t dex_pc; member in struct:art::optimizer::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, 119 for (uint32_t dex_pc = 0; dex_pc < insns_size; 120 inst = const_cast<Instruction*>(inst->Next()), dex_pc = inst->GetDexPc(insns)) { 123 CompileReturnVoid(inst, dex_pc); 201 CompileReturnVoid(Instruction* inst, uint32_t dex_pc) argument 219 CompileCheckCast(Instruction* inst, uint32_t dex_pc) argument 247 CompileInstanceFieldAccess(Instruction* inst, uint32_t dex_pc, Instruction::Code new_opcode, bool is_put) argument 274 CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc, Instruction::Code new_opcode, bool is_range) argument [all...] |
H A D | verified_method.cc | 70 const MethodReference* VerifiedMethod::GetDevirtTarget(uint32_t dex_pc) const { 71 auto it = devirt_map_.find(dex_pc); 75 const DexFileReference* VerifiedMethod::GetDequickenIndex(uint32_t dex_pc) const { 77 auto it = dequicken_map_.find(dex_pc); 97 uint32_t dex_pc = inst->GetDexPc(insns); local 98 verifier::RegisterLine* line = method_verifier->GetRegLine(dex_pc); 108 dequicken_map_.Put(dex_pc, DexFileReference(method->GetDexFile(), 111 uint32_t dex_pc = inst->GetDexPc(insns); local 112 verifier::RegisterLine* line = method_verifier->GetRegLine(dex_pc); 122 dequicken_map_.Put(dex_pc, DexFileReferenc 150 uint32_t dex_pc = inst->GetDexPc(insns); local 221 uint32_t dex_pc = inst->GetDexPc(code_item->insns_); local [all...] |
H A D | verified_method.h | 59 const MethodReference* GetDevirtTarget(uint32_t dex_pc) const; 63 const DexFileReference* GetDequickenIndex(uint32_t dex_pc) const;
|
/art/compiler/optimizing/ |
H A D | instruction_builder.cc | 32 HBasicBlock* HInstructionBuilder::FindBlockStartingAt(uint32_t dex_pc) const { 33 return block_builder_->GetBlockAt(dex_pc); 218 HInstruction* HInstructionBuilder::LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc) { argument 224 HNullCheck* null_check = new (arena_) HNullCheck(ref, dex_pc); 312 uint32_t dex_pc = it.CurrentDexPc(); local 313 if (dex_pc != block_dex_pc && FindBlockStartingAt(dex_pc) != nullptr) { 314 // This dex_pc starts a new basic block. 322 if (native_debuggable && native_debug_info_locations->IsBitSet(dex_pc)) { 323 AppendInstruction(new (arena_) HNativeDebugInfo(dex_pc)); 473 If_22t(const Instruction& instruction, uint32_t dex_pc) argument 483 If_21t(const Instruction& instruction, uint32_t dex_pc) argument 492 Unop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument 500 Conversion_12x(const Instruction& instruction, Primitive::Type input_type, Primitive::Type result_type, uint32_t dex_pc) argument 510 Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument 520 Binop_23x_shift(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument 529 Binop_23x_cmp(const Instruction& instruction, Primitive::Type type, ComparisonBias bias, uint32_t dex_pc) argument 540 Binop_12x_shift(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument 550 Binop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument 560 Binop_22s(const Instruction& instruction, bool reverse, uint32_t dex_pc) argument 571 Binop_22b(const Instruction& instruction, bool reverse, uint32_t dex_pc) argument 589 IsFallthroughInstruction(const Instruction& instruction, uint32_t dex_pc, HBasicBlock* block) argument 596 BuildSwitch(const Instruction& instruction, uint32_t dex_pc) argument 623 BuildReturn(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument 767 BuildInvoke(const Instruction& instruction, uint32_t dex_pc, uint32_t method_idx, uint32_t number_of_vreg_arguments, bool is_range, uint32_t* args, uint32_t register_index) argument 903 BuildNewInstance(uint16_t type_index, uint32_t dex_pc) argument 984 ProcessClinitCheckForInvoke( uint32_t dex_pc, ArtMethod* resolved_method, uint32_t method_idx, HInvokeStaticOrDirect::ClinitCheckRequirement* clinit_check_requirement) argument 1187 BuildInstanceFieldAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put) argument 1301 BuildUnresolvedStaticFieldAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put, Primitive::Type field_type) argument 1318 BuildStaticFieldAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put) argument 1417 BuildCheckedDivRem(uint16_t out_vreg, uint16_t first_vreg, int64_t second_vreg_or_constant, uint32_t dex_pc, Primitive::Type type, bool second_is_constant, bool isDiv) argument 1453 BuildArrayAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put, Primitive::Type anticipated_type) argument 1482 BuildFilledNewArray(uint32_t dex_pc, uint32_t type_index, uint32_t number_of_vreg_arguments, bool is_range, uint32_t* args, uint32_t register_index) argument 1521 BuildFillArrayData(HInstruction* object, const T* data, uint32_t element_count, Primitive::Type anticipated_type, uint32_t dex_pc) argument 1535 BuildFillArrayData(const Instruction& instruction, uint32_t dex_pc) argument 1585 BuildFillWideArrayData(HInstruction* object, const int64_t* data, uint32_t element_count, uint32_t dex_pc) argument 1621 BuildTypeCheck(const Instruction& instruction, uint8_t destination, uint8_t reference, uint16_t type_index, uint32_t dex_pc) argument 1680 LookupQuickenedInfo(uint32_t dex_pc) argument 1707 ProcessDexInstruction(const Instruction& instruction, uint32_t dex_pc) argument [all...] |
H A D | instruction_builder.h | 79 bool ProcessDexInstruction(const Instruction& instruction, uint32_t dex_pc); 83 uint16_t LookupQuickenedInfo(uint32_t dex_pc); 85 HBasicBlock* FindBlockStartingAt(uint32_t dex_pc) const; 90 HInstruction* LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc); 108 void Unop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 111 void Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 114 void Binop_23x_shift(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 119 uint32_t dex_pc); 122 void Binop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 125 void Binop_12x_shift(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); [all...] |
H A D | nodes_x86.h | 65 uint32_t dex_pc) 66 : HExpression(result_type, SideEffects::None(), dex_pc) { 85 uint32_t dex_pc) 86 : HTemplateInstruction(SideEffects::None(), dex_pc), 62 HX86FPNeg(Primitive::Type result_type, HInstruction* input, HX86ComputeBaseMethodAddress* method_base, uint32_t dex_pc) argument 81 HX86PackedSwitch(int32_t start_value, int32_t num_entries, HInstruction* input, HX86ComputeBaseMethodAddress* method_base, uint32_t dex_pc) argument
|
H A D | block_builder.h | 42 // Creates basic blocks in `graph_` at branch target dex_pc positions of the 49 HBasicBlock* GetBlockAt(uint32_t dex_pc) const { return branch_targets_[dex_pc]; } 52 // Creates a basic block starting at given `dex_pc`. 53 HBasicBlock* MaybeCreateBlockAt(uint32_t dex_pc); 57 // share the same semantic dex_pc, e.g. when building switch decision trees.
|
H A D | block_builder.cc | 23 HBasicBlock* HBasicBlockBuilder::MaybeCreateBlockAt(uint32_t dex_pc) { argument 24 return MaybeCreateBlockAt(dex_pc, dex_pc); 79 uint32_t dex_pc = it.CurrentDexPc(); local 84 MaybeCreateBlockAt(dex_pc + instruction.GetTargetOffset()); 86 DexSwitchTable table(instruction, dex_pc); 88 MaybeCreateBlockAt(dex_pc + s_it.CurrentTargetOffset()); 93 // Store the block under dex_pc of the current key at the switch data 94 // instruction for uniqueness but give it the dex_pc of the SWITCH 96 MaybeCreateBlockAt(dex_pc, s_i 126 uint32_t dex_pc = it.CurrentDexPc(); local [all...] |
H A D | nodes_arm64.h | 50 uint32_t dex_pc = kNoDexPc) 51 : HExpression(instr->GetType(), SideEffects::None(), dex_pc), 102 HArm64IntermediateAddress(HInstruction* base_address, HInstruction* offset, uint32_t dex_pc) argument 103 : HExpression(Primitive::kPrimNot, SideEffects::DependsOnGC(), dex_pc) {
|
H A D | nodes_shared.h | 29 uint32_t dex_pc = kNoDexPc) 30 : HExpression(type, SideEffects::None(), dex_pc), op_kind_(op) { 62 uint32_t dex_pc = kNoDexPc) 63 : HBinaryOperation(result_type, left, right, SideEffects::None(), dex_pc),
|
H A D | nodes.h | 465 HConstant* GetConstant(Primitive::Type type, int64_t value, uint32_t dex_pc = kNoDexPc); 470 HNullConstant* GetNullConstant(uint32_t dex_pc = kNoDexPc); 472 HIntConstant* GetIntConstant(int32_t value, uint32_t dex_pc = kNoDexPc) { 473 return CreateConstant(value, &cached_int_constants_, dex_pc); 475 HLongConstant* GetLongConstant(int64_t value, uint32_t dex_pc = kNoDexPc) { 476 return CreateConstant(value, &cached_long_constants_, dex_pc); 478 HFloatConstant* GetFloatConstant(float value, uint32_t dex_pc = kNoDexPc) { 479 return CreateConstant(bit_cast<int32_t, float>(value), &cached_float_constants_, dex_pc); 481 HDoubleConstant* GetDoubleConstant(double value, uint32_t dex_pc = kNoDexPc) { 482 return CreateConstant(bit_cast<int64_t, double>(value), &cached_double_constants_, dex_pc); 1648 HEnvironment(ArenaAllocator* arena, size_t number_of_vregs, const DexFile& dex_file, uint32_t method_idx, uint32_t dex_pc, InvokeType invoke_type, HInstruction* holder) argument 1760 HInstruction(SideEffects side_effects, uint32_t dex_pc) argument 2237 HTemplateInstruction(SideEffects side_effects, uint32_t dex_pc) argument 2264 HTemplateInstruction(SideEffects side_effects, uint32_t dex_pc) argument 2290 HExpression(Primitive::Type type, SideEffects side_effects, uint32_t dex_pc) argument 2791 HDeoptimize(HInstruction* cond, uint32_t dex_pc) argument 2832 HClassTableGet(HInstruction* cls, Primitive::Type type, TableKind kind, size_t index, uint32_t dex_pc) argument 3519 HCompare(Primitive::Type comparison_type, HInstruction* first, HInstruction* second, ComparisonBias bias, uint32_t dex_pc) argument 3605 HNewInstance(HInstruction* cls, HCurrentMethod* current_method, uint32_t dex_pc, uint16_t type_index, const DexFile& dex_file, bool can_throw, bool finalizable, QuickEntrypointEnum entrypoint) argument 3763 HInvoke(ArenaAllocator* arena, uint32_t number_of_arguments, uint32_t number_of_other_inputs, Primitive::Type return_type, uint32_t dex_pc, uint32_t dex_method_index, InvokeType original_invoke_type) argument 3807 HInvokeUnresolved(ArenaAllocator* arena, uint32_t number_of_arguments, Primitive::Type return_type, uint32_t dex_pc, uint32_t dex_method_index, InvokeType invoke_type) argument 3907 HInvokeStaticOrDirect(ArenaAllocator* arena, uint32_t number_of_arguments, Primitive::Type return_type, uint32_t dex_pc, uint32_t method_index, MethodReference target_method, DispatchInfo dispatch_info, InvokeType original_invoke_type, InvokeType optimized_invoke_type, ClinitCheckRequirement clinit_check_requirement) argument 4119 HInvokeVirtual(ArenaAllocator* arena, uint32_t number_of_arguments, Primitive::Type return_type, uint32_t dex_pc, uint32_t dex_method_index, uint32_t vtable_index) argument 4145 HInvokeInterface(ArenaAllocator* arena, uint32_t number_of_arguments, Primitive::Type return_type, uint32_t dex_pc, uint32_t dex_method_index, uint32_t imt_index) argument 4200 HNewArray(HInstruction* length, HCurrentMethod* current_method, uint32_t dex_pc, uint16_t type_index, const DexFile& dex_file, QuickEntrypointEnum entrypoint) argument 4342 HDiv(Primitive::Type result_type, HInstruction* left, HInstruction* right, uint32_t dex_pc) argument 4394 HRem(Primitive::Type result_type, HInstruction* left, HInstruction* right, uint32_t dex_pc) argument 4447 HDivZeroCheck(HInstruction* value, uint32_t dex_pc) argument 4888 HTypeConversion(Primitive::Type result_type, HInstruction* input, uint32_t dex_pc) argument 4932 HNullCheck(HInstruction* value, uint32_t dex_pc) argument 4992 HInstanceFieldGet(HInstruction* value, Primitive::Type field_type, MemberOffset field_offset, bool is_volatile, uint32_t field_idx, uint16_t declaring_class_def_index, const DexFile& dex_file, Handle<mirror::DexCache> dex_cache, uint32_t dex_pc) argument 5044 HInstanceFieldSet(HInstruction* object, HInstruction* value, Primitive::Type field_type, MemberOffset field_offset, bool is_volatile, uint32_t field_idx, uint16_t declaring_class_def_index, const DexFile& dex_file, Handle<mirror::DexCache> dex_cache, uint32_t dex_pc) argument 5095 HArrayGet(HInstruction* array, HInstruction* index, Primitive::Type type, uint32_t dex_pc, SideEffects additional_side_effects = SideEffects::None()) argument 5147 HArraySet(HInstruction* array, HInstruction* index, HInstruction* value, Primitive::Type expected_component_type, uint32_t dex_pc, SideEffects additional_side_effects = SideEffects::None()) argument 5244 HArrayLength(HInstruction* array, uint32_t dex_pc) argument 5269 HBoundsCheck(HInstruction* index, HInstruction* length, uint32_t dex_pc) argument 5319 HNativeDebugInfo(uint32_t dex_pc) argument 5337 HLoadClass(HCurrentMethod* current_method, uint16_t type_index, const DexFile& dex_file, bool is_referrers_class, uint32_t dex_pc, bool needs_access_check, bool is_in_dex_cache) argument [all...] |
H A D | bytecode_utils.h | 57 DexSwitchTable(const Instruction& instruction, uint32_t dex_pc) argument 59 dex_pc_(dex_pc), 166 inline const Instruction& GetDexInstructionAt(const DexFile::CodeItem& code_item, uint32_t dex_pc) { argument 167 return CodeItemIterator(code_item, dex_pc).CurrentInstruction();
|
H A D | stack_map_stream.h | 97 uint32_t dex_pc; member in struct:art::StackMapStream::StackMapEntry 111 uint32_t dex_pc; member in struct:art::StackMapStream::InlineInfoEntry 119 void BeginStackMapEntry(uint32_t dex_pc, 130 uint32_t dex_pc,
|
H A D | stack_map_stream.cc | 20 void StackMapStream::BeginStackMapEntry(uint32_t dex_pc, argument 26 DCHECK_EQ(0u, current_entry_.dex_pc) << "EndStackMapEntry not called after BeginStackMapEntry"; 27 DCHECK_NE(dex_pc, static_cast<uint32_t>(-1)) << "invalid dex_pc"; 28 current_entry_.dex_pc = dex_pc; 52 dex_pc_max_ = std::max(dex_pc_max_, dex_pc); 102 uint32_t dex_pc, 108 current_inline_info_.dex_pc = dex_pc; 101 BeginInlineInfoEntry(uint32_t method_index, uint32_t dex_pc, InvokeType invoke_type, uint32_t num_dex_registers) argument [all...] |
/art/runtime/jit/ |
H A D | profiling_info.cc | 36 uint32_t dex_pc = 0; local 47 entries.push_back(dex_pc); 53 dex_pc += instruction.SizeInCodeUnits(); 65 InlineCache* ProfilingInfo::GetInlineCache(uint32_t dex_pc) { argument 69 if (cache_[i].dex_pc_ == dex_pc) { 77 void ProfilingInfo::AddInvokeInfo(uint32_t dex_pc, mirror::Class* cls) { argument 78 InlineCache* cache = GetInlineCache(dex_pc); 79 CHECK(cache != nullptr) << PrettyMethod(method_) << "@" << dex_pc;
|
/art/runtime/ |
H A D | oat_quick_method_header.cc | 65 const uint32_t dex_pc, 79 LIKELY(is_for_catch_handler) ? code_info.GetCatchStackMapForDexPc(dex_pc, encoding) 80 : code_info.GetStackMapForDexPc(dex_pc, encoding); 87 LOG(FATAL) << "Failed to find native offset for dex pc 0x" << std::hex << dex_pc 64 ToNativeQuickPc(ArtMethod* method, const uint32_t dex_pc, bool is_for_catch_handler, bool abort_on_failure) const argument
|
H A D | instrumentation.h | 57 // the events they are listening for. The call backs supply the thread, method and dex_pc the event 66 uint32_t dex_pc) SHARED_REQUIRES(Locks::mutator_lock_) = 0; 70 ArtMethod* method, uint32_t dex_pc, 77 ArtMethod* method, uint32_t dex_pc) 87 uint32_t dex_pc, ArtField* field) = 0; 91 uint32_t dex_pc, ArtField* field, const JValue& field_value) = 0; 100 uint32_t dex_pc, 108 uint32_t dex_pc, 317 ArtMethod* method, uint32_t dex_pc) const 320 MethodEnterEventImpl(thread, this_object, method, dex_pc); [all...] |
H A D | quick_exception_handler.h | 94 void SetHandlerDexPc(uint32_t dex_pc) { argument 95 handler_dex_pc_ = dex_pc;
|
H A D | instrumentation.cc | 302 uint32_t dex_pc = visitor.dex_pcs_.back(); local 305 instrumentation->MethodEnterEvent(thread, (*isi).this_object_, (*isi).method_, dex_pc); 907 uint32_t dex_pc) const { 911 listener->MethodEntered(thread, this_object, method, dex_pc); 919 uint32_t dex_pc, const JValue& return_value) const { 923 listener->MethodExited(thread, this_object, method, dex_pc, return_value); 931 uint32_t dex_pc) const { 935 listener->MethodUnwind(thread, this_object, method, dex_pc); 943 uint32_t dex_pc) const { 946 listener->DexPcMoved(thread, this_object, method, dex_pc); 917 MethodExitEventImpl(Thread* thread, mirror::Object* this_object, ArtMethod* method, uint32_t dex_pc, const JValue& return_value) const argument 951 BranchImpl(Thread* thread, ArtMethod* method, uint32_t dex_pc, int32_t offset) const argument 962 InvokeVirtualOrInterfaceImpl(Thread* thread, mirror::Object* this_object, ArtMethod* caller, uint32_t dex_pc, ArtMethod* callee) const argument 977 FieldReadEventImpl(Thread* thread, mirror::Object* this_object, ArtMethod* method, uint32_t dex_pc, ArtField* field) const argument 987 FieldWriteEventImpl(Thread* thread, mirror::Object* this_object, ArtMethod* method, uint32_t dex_pc, ArtField* field, const JValue& field_value) const argument 1078 uint32_t dex_pc = DexFile::kDexNoIndex; local 1134 uint32_t dex_pc = DexFile::kDexNoIndex; local [all...] |
H A D | utils.cc | 1485 for (uint32_t dex_pc = 0; 1486 dex_pc < code_item->insns_size_in_code_units_; 1487 dex_pc += inst->SizeInCodeUnits(), inst = inst->Next()) { 1489 dex_pc_is_branch_target.insert(dex_pc + inst->GetTargetOffset()); 1491 const uint16_t* insns = code_item->insns_ + dex_pc; 1507 dex_pc_is_branch_target.insert(dex_pc + offset); 1521 for (uint32_t dex_pc = 0; 1522 dex_pc < code_item->insns_size_in_code_units_; 1523 dex_pc += inst->SizeInCodeUnits(), inst = inst->Next()) { 1524 if (dex_pc 1550 os << "<" << "p" << dex_pc << ">"; local 1635 << " -> node" << last_node_id << ":p" << dex_pc local [all...] |
H A D | trace.h | 142 ArtMethod* method, uint32_t dex_pc) 146 ArtMethod* method, uint32_t dex_pc, 151 ArtMethod* method, uint32_t dex_pc) 159 ArtMethod* method, uint32_t dex_pc, ArtField* field) 162 ArtMethod* method, uint32_t dex_pc, ArtField* field, 167 void Branch(Thread* thread, ArtMethod* method, uint32_t dex_pc, int32_t dex_pc_offset) 172 uint32_t dex_pc,
|
H A D | instrumentation_test.cc | 48 uint32_t dex_pc ATTRIBUTE_UNUSED) 56 uint32_t dex_pc ATTRIBUTE_UNUSED, 65 uint32_t dex_pc ATTRIBUTE_UNUSED) 81 uint32_t dex_pc ATTRIBUTE_UNUSED, 90 uint32_t dex_pc ATTRIBUTE_UNUSED, 105 uint32_t dex_pc ATTRIBUTE_UNUSED, 114 uint32_t dex_pc ATTRIBUTE_UNUSED, 321 uint32_t dex_pc) 325 instr->MethodEnterEvent(self, obj, method, dex_pc); 329 instr->MethodExitEvent(self, obj, method, dex_pc, valu [all...] |
/art/runtime/verifier/ |
H A D | method_verifier-inl.h | 33 inline RegisterLine* MethodVerifier::GetRegLine(uint32_t dex_pc) { argument 34 return reg_table_.GetLine(dex_pc);
|
/art/test/004-ReferenceMap/ |
H A D | stack_walk_refmap_jni.cc | 23 #define CHECK_REGS_CONTAIN_REFS(dex_pc, abort_if_not_found, ...) do { \ 28 dex_pc, \
|
/art/runtime/interpreter/mterp/arm/ |
H A D | entry.S | 50 ldr r0, [r2, #SHADOWFRAME_DEX_PC_OFFSET] @ Get starting dex_pc.
|