Searched refs:dex_pc (Results 1 - 25 of 85) sorted by relevance

1234

/art/compiler/dex/
H A Ddex_to_dex_compiler.cc41 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 Dverified_method.cc70 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 Dverified_method.h59 const MethodReference* GetDevirtTarget(uint32_t dex_pc) const;
63 const DexFileReference* GetDequickenIndex(uint32_t dex_pc) const;
/art/compiler/optimizing/
H A Dinstruction_builder.cc32 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 Dinstruction_builder.h79 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 Dnodes_x86.h65 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 Dblock_builder.h42 // 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 Dblock_builder.cc23 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 Dnodes_arm64.h50 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 Dnodes_shared.h29 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 Dnodes.h465 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 Dbytecode_utils.h57 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 Dstack_map_stream.h97 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 Dstack_map_stream.cc20 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 Dprofiling_info.cc36 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 Doat_quick_method_header.cc65 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 Dinstrumentation.h57 // 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 Dquick_exception_handler.h94 void SetHandlerDexPc(uint32_t dex_pc) { argument
95 handler_dex_pc_ = dex_pc;
H A Dinstrumentation.cc302 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 Dutils.cc1485 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 Dtrace.h142 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 Dinstrumentation_test.cc48 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 Dmethod_verifier-inl.h33 inline RegisterLine* MethodVerifier::GetRegLine(uint32_t dex_pc) { argument
34 return reg_table_.GetLine(dex_pc);
/art/test/004-ReferenceMap/
H A Dstack_walk_refmap_jni.cc23 #define CHECK_REGS_CONTAIN_REFS(dex_pc, abort_if_not_found, ...) do { \
28 dex_pc, \
/art/runtime/interpreter/mterp/arm/
H A Dentry.S50 ldr r0, [r2, #SHADOWFRAME_DEX_PC_OFFSET] @ Get starting dex_pc.

Completed in 400 milliseconds

1234