Home
last modified time | relevance | path

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

123

/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.cc169 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeVirtual() local
171 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MterpInvokeVirtual()
180 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeSuper() local
182 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MterpInvokeSuper()
191 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeInterface() local
193 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MterpInvokeInterface()
202 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeDirect() local
204 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MterpInvokeDirect()
213 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeStatic() local
215 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MterpInvokeStatic()
[all …]
Dnterp.cc139 const Instruction* inst = Instruction::At(dex_pc_ptr); in NterpGetShortyFromInvokePolymorphic() local
140 dex::ProtoIndex proto_idx(inst->Opcode() == Instruction::INVOKE_POLYMORPHIC in NterpGetShortyFromInvokePolymorphic()
141 ? inst->VRegH_45cc() in NterpGetShortyFromInvokePolymorphic()
142 : inst->VRegH_4rcc()); in NterpGetShortyFromInvokePolymorphic()
149 const Instruction* inst = Instruction::At(dex_pc_ptr); in NterpGetShortyFromInvokeCustom() local
150 uint16_t call_site_index = (inst->Opcode() == Instruction::INVOKE_CUSTOM in NterpGetShortyFromInvokeCustom()
151 ? inst->VRegB_35c() in NterpGetShortyFromInvokeCustom()
152 : inst->VRegB_3rc()); in NterpGetShortyFromInvokeCustom()
161 const Instruction* inst = Instruction::At(dex_pc_ptr); in NterpGetMethod() local
164 switch (inst->Opcode()) { in NterpGetMethod()
[all …]
/art/runtime/verifier/
Dmethod_verifier.cc306 bool VerifyInstruction(const Instruction* inst, uint32_t code_offset);
466 …bool CheckSignaturePolymorphicReceiver(const Instruction* inst) REQUIRES_SHARED(Locks::mutator_loc…
542 void VerifyNewArray(const Instruction* inst, bool is_filled, bool is_range)
553 void VerifyAGet(const Instruction* inst, const RegType& insn_type,
557 void VerifyAPut(const Instruction* inst, const RegType& insn_type,
569 void VerifyISFieldAccess(const Instruction* inst, const RegType& insn_type,
617 ArtMethod* VerifyInvocationArgs(const Instruction* inst, MethodType method_type, bool is_range)
622 void VerifyInvocationArgsUnresolvedMethod(const Instruction* inst, MethodType method_type,
627 ArtMethod* VerifyInvocationArgsFromIterator(T* it, const Instruction* inst,
733 uint16_t GetMethodIdxOfInvoke(const Instruction* inst) in GetMethodIdxOfInvoke() argument
[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.java649 private static PathElement getNextPathElementToGcRoot(AhatInstance inst) { in getNextPathElementToGcRoot() argument
650 if (inst.isRoot()) { in getNextPathElementToGcRoot()
653 return new PathElement(inst.mNextInstanceToGcRoot, inst.mNextInstanceToGcRootField); in getNextPathElementToGcRoot()
765 static void computeRetainedSize(AhatInstance inst, int numHeaps) { in computeRetainedSize() argument
773 deque.push(inst); in computeRetainedSize()
776 inst = deque.pop(); in computeRetainedSize()
777 if (inst.mRetainedSizes == null) { in computeRetainedSize()
778 inst.mRetainedSizes = new Size[numHeaps]; in computeRetainedSize()
780 inst.mRetainedSizes[i] = Size.ZERO; in computeRetainedSize()
782 if (!(inst instanceof SuperRoot)) { in computeRetainedSize()
[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()
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 …]
/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/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/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/runtime/interpreter/
Dinterpreter_common.h130 const Instruction* inst, uint16_t inst_data, JValue* result);
234 const Instruction* inst, in DoInvoke() argument
244 const uint32_t method_idx = (is_range) ? inst->VRegB_3rc() : inst->VRegB_35c(); in DoInvoke()
245 const uint32_t vregC = (is_range) ? inst->VRegC_3rc() : inst->VRegC_35c(); in DoInvoke()
255 } else if (!IsNterpSupported() && LIKELY(tls_cache->Get(inst, &tls_value))) { in DoInvoke()
269 tls_cache->Set(inst, reinterpret_cast<size_t>(resolved_method)); in DoInvoke()
307 if (MterpHandleIntrinsic(&shadow_frame, called_method, inst, inst_data, in DoInvoke()
342 (is_range) ? inst->VRegA_3rc(inst_data) : inst->VRegA_35c(inst_data); in DoInvoke()
370 inst->GetVarArgs(arg, inst_data); in DoInvoke()
404 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.cc210 void UnexpectedOpcode(const Instruction* inst, const ShadowFrame& shadow_frame) { in UnexpectedOpcode() argument
212 << inst->DumpString(shadow_frame.GetMethod()->GetDexFile()); in UnexpectedOpcode()
331 const Instruction* inst, in DoMethodHandleInvokeCommon() argument
340 const uint32_t vRegC = (is_range) ? inst->VRegC_4rcc() : inst->VRegC_45cc(); in DoMethodHandleInvokeCommon()
341 const int invoke_method_idx = (is_range) ? inst->VRegB_4rcc() : inst->VRegB_45cc(); in DoMethodHandleInvokeCommon()
363 const uint16_t vRegH = (is_range) ? inst->VRegH_4rcc() : inst->VRegH_45cc(); in DoMethodHandleInvokeCommon()
386 RangeInstructionOperands operands(inst->VRegC_4rcc() + 1, inst->VRegA_4rcc() - 1); in DoMethodHandleInvokeCommon()
405 inst->GetVarArgs(args, inst_data); in DoMethodHandleInvokeCommon()
409 VarArgsInstructionOperands operands(args, inst->VRegA_45cc() - 1); in DoMethodHandleInvokeCommon()
430 const Instruction* inst, in DoMethodHandleInvokeExact() argument
[all …]
/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.cc64 for (const DexInstructionPcPair& inst : method.GetInstructions()) { in CollectAccesses() local
65 switch (inst->Opcode()) { in CollectAccesses()
67 dex::StringIndex string_index(inst->VRegB_21c()); in CollectAccesses()
99 CheckMethod(inst->VRegB_35c(), resolver, method.GetReference()); in CollectAccesses()
108 CheckMethod(inst->VRegB_3rc(), resolver, method.GetReference()); in CollectAccesses()
119 CheckField(inst->VRegC_22c(), resolver, method.GetReference()); in CollectAccesses()
130 CheckField(inst->VRegC_22c(), resolver, method.GetReference()); in CollectAccesses()
141 CheckField(inst->VRegB_21c(), resolver, method.GetReference()); in CollectAccesses()
152 CheckField(inst->VRegB_21c(), resolver, method.GetReference()); in CollectAccesses()

123