Home
last modified time | relevance | path

Searched refs:inst (Results 1 – 25 of 56) sorted by relevance

123

/art/runtime/interpreter/
Dinterpreter_switch_impl-inl.h103 inst->GetDexPc(Insns()), in CheckForceReturn()
137 inst = inst->RelativeAt(displacement); in HandlePendingExceptionWithInstrumentationImpl()
150 const Instruction* inst_copy = inst; in HandlePendingExceptionWithInstrumentation()
155 inst = inst_copy; in HandlePendingExceptionWithInstrumentation()
172 DCHECK(inst->IsInvoke()); in PossiblyHandlePendingExceptionOnInvokeImpl()
189 inst = next_inst; in PossiblyHandlePendingExceptionOnInvokeImpl()
205 inst = next_inst; in PossiblyHandlePendingException()
229 uint8_t opcode = inst->Opcode(inst_data); in Preamble()
294 shadow_frame.SetDexPC(inst->GetDexPc(Insns())); in HandleBackwardBranch()
380 if (!PossiblyHandlePendingException(is_exception_pending, inst->next_function())) { \
[all …]
Dinterpreter_common.h125 const Instruction* inst, uint16_t inst_data, JValue* result);
139 const Instruction* inst, in DoInvoke() argument
149 const uint32_t method_idx = (is_range) ? inst->VRegB_3rc() : inst->VRegB_35c(); in DoInvoke()
150 const uint32_t vregC = (is_range) ? inst->VRegC_3rc() : inst->VRegC_35c(); in DoInvoke()
159 } else if (LIKELY(tls_cache->Get(inst, &tls_value))) { in DoInvoke()
172 tls_cache->Set(inst, reinterpret_cast<size_t>(resolved_method)); in DoInvoke()
209 if (MterpHandleIntrinsic(&shadow_frame, called_method, inst, inst_data, in DoInvoke()
244 (is_range) ? inst->VRegA_3rc(inst_data) : inst->VRegA_35c(inst_data); in DoInvoke()
272 inst->GetVarArgs(arg, inst_data); in DoInvoke()
304 return DoCall<is_range, do_access_check>(called_method, self, shadow_frame, inst, inst_data, in DoInvoke()
[all …]
Dinterpreter_intrinsics.cc29 const Instruction* inst, \
34 inst->GetVarArgs(arg, inst_data); \
50 const Instruction* inst, \
55 inst->GetVarArgs(arg, inst_data); \
183 const Instruction* inst, in MterpStringCharAt() argument
188 inst->GetVarArgs(arg, inst_data); in MterpStringCharAt()
207 const Instruction* inst, in MterpStringCompareTo() argument
212 inst->GetVarArgs(arg, inst_data); in MterpStringCompareTo()
224 const Instruction* inst, \
229 inst->GetVarArgs(arg, inst_data); \
[all …]
Dinterpreter_common.cc96 bool DoFieldGet(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, in DoFieldGet() argument
99 const uint32_t field_idx = is_static ? inst->VRegB_21c() : inst->VRegC_22c(); in DoFieldGet()
118 obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in DoFieldGet()
131 uint32_t vregA = is_static ? inst->VRegA_21c(inst_data) : inst->VRegA_22c(inst_data); in DoFieldGet()
165 const Instruction* inst, \
198 bool DoIGetQuick(ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) { in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
199 ObjPtr<mirror::Object> obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
206 MemberOffset field_offset(inst->VRegC_22c()); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
229 const uint32_t vregA = inst->VRegA_22c(inst_data); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
261 template bool DoIGetQuick<_field_type>(ShadowFrame& shadow_frame, const Instruction* inst, \
[all …]
/art/runtime/
Ddex_to_dex_decompiler.cc45 void DecompileInstanceFieldAccess(Instruction* inst, Instruction::Code new_opcode) { in DecompileInstanceFieldAccess() argument
47 inst->SetOpcode(new_opcode); in DecompileInstanceFieldAccess()
48 inst->SetVRegC_22c(index); in DecompileInstanceFieldAccess()
51 void DecompileInvokeVirtual(Instruction* inst, Instruction::Code new_opcode, bool is_range) { in DecompileInvokeVirtual() argument
53 inst->SetOpcode(new_opcode); in DecompileInvokeVirtual()
55 inst->SetVRegB_3rc(index); in DecompileInvokeVirtual()
57 inst->SetVRegB_35c(index); in DecompileInvokeVirtual()
61 void DecompileNop(Instruction* inst) { in DecompileNop() argument
68 inst->SetOpcode(Instruction::CHECK_CAST); in DecompileNop()
69 inst->SetVRegA_21c(reference_index); in DecompileNop()
[all …]
/art/dex2oat/dex/
Ddex_to_dex_compiler.cc77 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,
106 uint16_t GetIndexForInstruction(const Instruction* inst, uint32_t index);
195 uint16_t DexToDexCompiler::CompilationState::GetIndexForInstruction(const Instruction* inst, in GetIndexForInstruction() argument
198 return inst->IsQuickened() ? NextIndex() : index; in GetIndexForInstruction()
200 DCHECK(!inst->IsQuickened()); in GetIndexForInstruction()
216 Instruction* inst = const_cast<Instruction*>(&it.Inst()); in Compile() local
219 DCHECK(!inst->IsQuickened()); in Compile()
[all …]
/art/tools/ahat/src/main/com/android/ahat/
DSummarizer.java38 public static DocString summarize(AhatInstance inst) { in summarize() argument
40 if (inst == null) { in summarize()
46 if (inst.getBaseline().isPlaceHolder()) { in summarize()
51 if (inst.isPlaceHolder()) { in summarize()
56 Reachability reachability = inst.getReachability(); in summarize()
62 if (inst.isRoot()) { in summarize()
66 DocString linkText = DocString.text(inst.toString()); in summarize()
67 if (inst.isPlaceHolder()) { in summarize()
71 URI objTarget = DocString.formattedUri("object?id=0x%x", inst.getId()); in summarize()
76 String stringValue = inst.asString(kMaxChars); in summarize()
[all …]
DObjectHandler.java58 AhatInstance inst = mSnapshot.findInstance(id); in handle() local
59 if (inst == null) { in handle()
63 AhatInstance base = inst.getBaseline(); in handle()
65 doc.title("Object %08x", inst.getId()); in handle()
66 doc.big(Summarizer.summarize(inst)); in handle()
68 printAllocationSite(doc, query, inst); in handle()
70 if (!inst.isUnreachable()) { in handle()
71 printGcRootPath(doc, query, inst); in handle()
75 AhatClassObj cls = inst.getClassObj(); in handle()
79 doc.description(DocString.text("Heap"), DocString.text(inst.getHeap().getName())); in handle()
[all …]
/art/runtime/interpreter/mterp/
Dmterp.cc171 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeVirtual() local
173 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeVirtual()
182 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeSuper() local
184 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeSuper()
193 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeInterface() local
195 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeInterface()
204 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeDirect() local
206 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeDirect()
215 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeStatic() local
217 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeStatic()
[all …]
/art/runtime/verifier/
Dmethod_verifier.cc253 bool VerifyInstruction(const Instruction* inst, uint32_t code_offset);
327 …bool CheckSignaturePolymorphicReceiver(const Instruction* inst) REQUIRES_SHARED(Locks::mutator_loc…
402 void VerifyNewArray(const Instruction* inst, bool is_filled, bool is_range)
413 void VerifyAGet(const Instruction* inst, const RegType& insn_type,
417 void VerifyAPut(const Instruction* inst, const RegType& insn_type,
429 void VerifyISFieldAccess(const Instruction* inst, const RegType& insn_type,
477 ArtMethod* VerifyInvocationArgs(const Instruction* inst, MethodType method_type, bool is_range)
482 void VerifyInvocationArgsUnresolvedMethod(const Instruction* inst, MethodType method_type,
487 ArtMethod* VerifyInvocationArgsFromIterator(T* it, const Instruction* inst,
572 uint16_t GetMethodIdxOfInvoke(const Instruction* inst)
[all …]
Dregister_line.cc49 const RegType& RegisterLine::GetInvocationThis(MethodVerifier* verifier, const Instruction* inst, in GetInvocationThis() argument
51 DCHECK(inst->IsInvoke()); in GetInvocationThis()
52 const size_t args_count = inst->VRegA(); in GetInvocationThis()
60 const uint32_t this_reg = inst->VRegC(); in GetInvocationThis()
198 void RegisterLine::CheckUnaryOp(MethodVerifier* verifier, const Instruction* inst, in CheckUnaryOp() argument
200 if (VerifyRegisterType(verifier, inst->VRegB_12x(), src_type)) { in CheckUnaryOp()
201 SetRegisterType<LockOp::kClear>(verifier, inst->VRegA_12x(), dst_type); in CheckUnaryOp()
205 void RegisterLine::CheckUnaryOpWide(MethodVerifier* verifier, const Instruction* inst, in CheckUnaryOpWide() argument
208 if (VerifyRegisterTypeWide(verifier, inst->VRegB_12x(), src_type1, src_type2)) { in CheckUnaryOpWide()
209 SetRegisterTypeWide(verifier, inst->VRegA_12x(), dst_type1, dst_type2); in CheckUnaryOpWide()
[all …]
Dregister_line.h232 const Instruction* inst,
241 const Instruction* inst,
247 const Instruction* inst,
255 const Instruction* inst,
262 const Instruction* inst,
274 const Instruction* inst,
282 const Instruction* inst,
292 const Instruction* inst,
303 const Instruction* inst,
311 const Instruction* inst,
[all …]
/art/compiler/optimizing/
Dconstant_folding.cc31 void VisitUnaryOperation(HUnaryOperation* inst) override;
32 void VisitBinaryOperation(HBinaryOperation* inst) override;
34 void VisitTypeConversion(HTypeConversion* inst) override;
35 void VisitDivZeroCheck(HDivZeroCheck* inst) override;
91 void HConstantFoldingVisitor::VisitUnaryOperation(HUnaryOperation* inst) { in VisitUnaryOperation() argument
94 HConstant* constant = inst->TryStaticEvaluation(); in VisitUnaryOperation()
96 inst->ReplaceWith(constant); in VisitUnaryOperation()
97 inst->GetBlock()->RemoveInstruction(inst); in VisitUnaryOperation()
101 void HConstantFoldingVisitor::VisitBinaryOperation(HBinaryOperation* inst) { in VisitBinaryOperation() argument
104 HConstant* constant = inst->TryStaticEvaluation(); in VisitBinaryOperation()
[all …]
Dconstant_folding_test.cc125 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
126 ASSERT_TRUE(inst->IsIntConstant()); in TEST_F()
127 ASSERT_EQ(inst->AsIntConstant()->GetValue(), -1); in TEST_F()
186 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
187 ASSERT_TRUE(inst->IsLongConstant()); in TEST_F()
188 ASSERT_EQ(inst->AsLongConstant()->GetValue(), INT64_C(-4294967296)); in TEST_F()
247 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
248 ASSERT_TRUE(inst->IsIntConstant()); in TEST_F()
249 ASSERT_EQ(inst->AsIntConstant()->GetValue(), 3); in TEST_F()
397 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
[all …]
/art/dexdump/
Ddexdump_cfg.cc46 const Instruction* inst = &pair.Inst(); in DumpMethodCFG() local
47 if (inst->IsBranch()) { in DumpMethodCFG()
48 dex_pc_is_branch_target.insert(pair.DexPc() + inst->GetTargetOffset()); in DumpMethodCFG()
49 } else if (inst->IsSwitch()) { in DumpMethodCFG()
50 const uint16_t* insns = reinterpret_cast<const uint16_t*>(inst); in DumpMethodCFG()
164 const Instruction* inst = &pair.Inst(); in DumpMethodCFG() local
206 if (inst->IsBranch()) { in DumpMethodCFG()
207 const int32_t offset = inst->GetTargetOffset(); in DumpMethodCFG()
208 const bool conditional = !inst->IsUnconditional(); in DumpMethodCFG()
220 } else if (inst->IsSwitch()) { in DumpMethodCFG()
[all …]
/art/tools/ahat/src/main/com/android/ahat/heapdump/
DAhatInstance.java646 private static PathElement getNextPathElementToGcRoot(AhatInstance inst) { in getNextPathElementToGcRoot() argument
647 if (inst.isRoot()) { in getNextPathElementToGcRoot()
650 return new PathElement(inst.mNextInstanceToGcRoot, inst.mNextInstanceToGcRootField); in getNextPathElementToGcRoot()
762 static void computeRetainedSize(AhatInstance inst, int numHeaps) { in computeRetainedSize() argument
770 deque.push(inst); in computeRetainedSize()
773 inst = deque.pop(); in computeRetainedSize()
774 if (inst.mRetainedSizes == null) { in computeRetainedSize()
775 inst.mRetainedSizes = new Size[numHeaps]; in computeRetainedSize()
777 inst.mRetainedSizes[i] = Size.ZERO; in computeRetainedSize()
779 if (!(inst instanceof SuperRoot)) { in computeRetainedSize()
[all …]
DDiff.java105 private Key(AhatInstance inst) { in Key() argument
106 mClass = inst.getClassName(); in Key()
107 mHeapName = inst.getHeap().getName(); in Key()
108 mClassName = inst.isClassObj() ? inst.asClassObj().getName() : ""; in Key()
109 String string = inst.asString(); in Key()
111 AhatArrayInstance array = inst.asArrayInstance(); in Key()
118 public static Key keyFor(AhatInstance inst) { in keyFor() argument
119 return new Key(inst); in keyFor()
162 private static AhatInstance createPlaceHolders(AhatInstance inst, in createPlaceHolders() argument
166 AhatInstance result = inst.newPlaceHolderInstance(); in createPlaceHolders()
[all …]
DAhatSnapshot.java53 for (AhatInstance inst : mInstances) { in AhatSnapshot()
55 inst.getSite().addInstance(inst); in AhatSnapshot()
58 AhatInstance.RegisteredNativeAllocation nra = inst.asRegisteredNativeAllocation(); in AhatSnapshot()
63 if (retained == Reachability.UNREACHABLE && inst.isUnreachable()) { in AhatSnapshot()
64 mSuperRoot.addRoot(inst); in AhatSnapshot()
121 AhatInstance inst = findInstance(id); in findClassObj() local
122 return inst == null ? null : inst.asClassObj(); in findClassObj()
/art/tools/dexanalyze/
Ddexanalyze_experiments.cc45 uint16_t NumberOfArgs(const Instruction& inst) { in NumberOfArgs() argument
46 return IsRange(inst.Opcode()) ? inst.VRegA_3rc() : inst.VRegA_35c(); in NumberOfArgs()
49 uint16_t DexMethodIndex(const Instruction& inst) { in DexMethodIndex() argument
50 return IsRange(inst.Opcode()) ? inst.VRegB_3rc() : inst.VRegB_35c(); in DexMethodIndex()
283 auto ProcessInstanceField = [&](const Instruction& inst, in ProcessDexFile()
287 const uint32_t dex_field_idx = inst.VRegC_22c(); in ProcessDexFile()
289 uint32_t input = inst.VRegA_22c(); in ProcessDexFile()
291 const uint32_t receiver = inst.VRegB_22c(); in ProcessDexFile()
298 auto ProcessStaticField = [&](const Instruction& inst, in ProcessDexFile() argument
301 const uint32_t dex_field_idx = inst.VRegB_21c(); in ProcessDexFile()
[all …]
Ddexanalyze_bytecode.cc224 for (auto inst = code_item.begin(); inst != code_item.end(); ++inst) { in ProcessCodeItem() local
227 std::cout << inst->DumpString(nullptr); in ProcessCodeItem()
237 const Instruction::Code opcode = inst->Opcode(); in ProcessCodeItem()
257 const uint32_t dex_field_idx = inst->VRegC_22c(); in ProcessCodeItem()
264 uint32_t receiver = inst->VRegB_22c(); in ProcessCodeItem()
266 uint32_t out_reg = inst->VRegA_22c(); in ProcessCodeItem()
295 const uint16_t str_idx = is_jumbo ? inst->VRegB_31c() : inst->VRegB_21c(); in ProcessCodeItem()
296 uint32_t out_reg = is_jumbo ? inst->VRegA_31c() : inst->VRegA_21c(); in ProcessCodeItem()
324 uint32_t out_reg = inst->VRegA_21c(); in ProcessCodeItem()
325 const uint32_t dex_field_idx = inst->VRegB_21c(); in ProcessCodeItem()
[all …]
/art/test/551-implicit-null-checks/src/
DMain.java23 private Inner inst; field in Main
50 long result = inst.i1; in $opt$noinline$testGetLong()
55 inst.i1 = a; in $opt$noinline$testPutLong()
60 double result = inst.i2; in $opt$noinline$testGetDouble()
65 inst.i2 = a; in $opt$noinline$testPutDouble()
/art/test/003-omnibus-opcodes/src/
DMethodCall.java54 MethodCall inst = new MethodCall(); in run() local
56 MethodCallBase base = inst; in run()
58 inst.tryThing(); in run()
60 inst = null; in run()
62 inst.directly(); in run()
/art/test/983-source-transform-verify/
Dsource_transform_art.cc59 const Instruction& inst = pair.Inst(); in VerifyClassData() local
61 if (inst.Opcode() == Instruction::RETURN_VOID_NO_BARRIER || in VerifyClassData()
62 (inst.GetVerifyExtraFlags() & forbidden_flags) != 0) { in VerifyClassData()
65 << inst.DumpString(dex.get()) << std::endl; in VerifyClassData()
/art/test/043-privates/src/
DMain.java45 PrivatePackage inst = new PrivatePackageSub(); in stretchTest() local
46 System.out.println("PrivatePackage --> " + inst.getStr()); in stretchTest()
47 System.out.println("PrivatePackage --> " + inst.privGetStr()); in stretchTest()
/art/tools/veridex/
Dhidden_api_finder.cc68 for (const DexInstructionPcPair& inst : method.GetInstructions()) { in CollectAccesses() local
69 switch (inst->Opcode()) { in CollectAccesses()
71 dex::StringIndex string_index(inst->VRegB_21c()); in CollectAccesses()
103 CheckMethod(inst->VRegB_35c(), resolver, method.GetReference()); in CollectAccesses()
112 CheckMethod(inst->VRegB_3rc(), resolver, method.GetReference()); in CollectAccesses()
123 CheckField(inst->VRegC_22c(), resolver, method.GetReference()); in CollectAccesses()
134 CheckField(inst->VRegC_22c(), resolver, method.GetReference()); in CollectAccesses()
145 CheckField(inst->VRegB_21c(), resolver, method.GetReference()); in CollectAccesses()
156 CheckField(inst->VRegB_21c(), resolver, method.GetReference()); in CollectAccesses()

123