Home
last modified time | relevance | path

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

123

/art/runtime/interpreter/
Dinterpreter_switch_impl.cc47 inst = inst->RelativeAt(displacement); \
58 inst = inst->_next_function(); \
124 shadow_frame.SetDexPC(inst->GetDexPc(insns)); \
215 const Instruction* inst = Instruction::At(insns + dex_pc); in ExecuteSwitchImplCpp() local
220 dex_pc = inst->GetDexPc(insns); in ExecuteSwitchImplCpp()
222 TraceExecution(shadow_frame, inst, dex_pc); in ExecuteSwitchImplCpp()
223 inst_data = inst->Fetch16(0); in ExecuteSwitchImplCpp()
224 switch (inst->Opcode(inst_data)) { in ExecuteSwitchImplCpp()
227 inst = inst->Next_1xx(); in ExecuteSwitchImplCpp()
231 shadow_frame.SetVReg(inst->VRegA_12x(inst_data), in ExecuteSwitchImplCpp()
[all …]
Dinterpreter_common.h121 const Instruction* inst, uint16_t inst_data, JValue* result);
130 const Instruction* inst, in DoFastInvoke() argument
133 const uint32_t method_idx = inst->VRegB_35c(); in DoFastInvoke()
134 const uint32_t vregC = inst->VRegC_35c(); in DoFastInvoke()
156 if (MterpHandleIntrinsic(&shadow_frame, called_method, inst, inst_data, in DoFastInvoke()
161 return DoCall<false, false>(called_method, self, shadow_frame, inst, inst_data, result); in DoFastInvoke()
170 const Instruction* inst, in DoInvoke() argument
177 const uint32_t method_idx = (is_range) ? inst->VRegB_3rc() : inst->VRegB_35c(); in DoInvoke()
178 const uint32_t vregC = (is_range) ? inst->VRegC_3rc() : inst->VRegC_35c(); in DoInvoke()
206 return DoCall<is_range, do_access_check>(called_method, self, shadow_frame, inst, inst_data, in DoInvoke()
[all …]
Dinterpreter_common.cc51 bool DoFieldGet(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, in DoFieldGet() argument
54 const uint32_t field_idx = is_static ? inst->VRegB_21c() : inst->VRegC_22c(); in DoFieldGet()
73 obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in DoFieldGet()
86 uint32_t vregA = is_static ? inst->VRegA_21c(inst_data) : inst->VRegA_22c(inst_data); in DoFieldGet()
120 const Instruction* inst, \
153 bool DoIGetQuick(ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) { in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
154 ObjPtr<mirror::Object> obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
161 MemberOffset field_offset(inst->VRegC_22c()); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
184 const uint32_t vregA = inst->VRegA_22c(inst_data); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
216 template bool DoIGetQuick<_field_type>(ShadowFrame& shadow_frame, const Instruction* inst, \
[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 …]
/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/compiler/dex/
Ddex_to_dex_compiler.cc75 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,
104 uint16_t GetIndexForInstruction(const Instruction* inst, uint32_t index);
193 uint16_t DexToDexCompiler::CompilationState::GetIndexForInstruction(const Instruction* inst, in GetIndexForInstruction() argument
196 return inst->IsQuickened() ? NextIndex() : index; in GetIndexForInstruction()
198 DCHECK(!inst->IsQuickened()); in GetIndexForInstruction()
214 Instruction* inst = const_cast<Instruction*>(&it.Inst()); in Compile() local
217 DCHECK(!inst->IsQuickened()); in Compile()
[all …]
Dverified_method.cc70 const Instruction& inst = pair.Inst(); in GenerateSafeCastSet() local
71 const Instruction::Code code = inst.Opcode(); in GenerateSafeCastSet()
80 inst.VRegA_21c())); in GenerateSafeCastSet()
82 method_verifier->ResolveCheckedClass(dex::TypeIndex(inst.VRegB_21c())); in GenerateSafeCastSet()
/art/tools/ahat/src/main/com/android/ahat/
DSummarizer.java36 public static DocString summarize(AhatInstance inst) { in summarize() argument
38 if (inst == null) { in summarize()
44 if (inst.getBaseline().isPlaceHolder()) { in summarize()
49 if (inst.isPlaceHolder()) { in summarize()
54 if (inst.isWeaklyReachable()) { in summarize()
56 } else if (inst.isUnreachable()) { in summarize()
61 if (inst.isRoot()) { in summarize()
65 DocString linkText = DocString.text(inst.toString()); in summarize()
66 if (inst.isPlaceHolder()) { in summarize()
70 URI objTarget = DocString.formattedUri("object?id=0x%x", inst.getId()); in summarize()
[all …]
DObjectHandler.java59 AhatInstance inst = mSnapshot.findInstance(id); in handle() local
60 if (inst == null) { in handle()
64 AhatInstance base = inst.getBaseline(); in handle()
66 doc.title("Object %08x", inst.getId()); in handle()
67 doc.big(Summarizer.summarize(inst)); in handle()
69 printAllocationSite(doc, query, inst); in handle()
71 if (!inst.isUnreachable()) { in handle()
72 printGcRootPath(doc, query, inst); in handle()
76 AhatClassObj cls = inst.getClassObj(); in handle()
80 doc.description(DocString.text("Heap"), DocString.text(inst.getHeap().getName())); in handle()
[all …]
DObjectsHandler.java55 for (AhatInstance inst : selector.selected()) { in handle()
56 AhatInstance base = inst.getBaseline(); in handle()
57 SizeTable.row(doc, inst.getSize(), base.getSize(), in handle()
58 DocString.text(inst.getHeap().getName()), in handle()
59 Summarizer.summarize(inst)); in handle()
/art/runtime/interpreter/mterp/
Dmterp.cc173 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeVirtual() local
175 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeVirtual()
184 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeSuper() local
186 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeSuper()
195 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeInterface() local
197 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeInterface()
206 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeDirect() local
208 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeDirect()
217 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeStatic() local
219 self, *shadow_frame, inst, inst_data, result_register); in MterpInvokeStatic()
[all …]
/art/runtime/verifier/
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()
196 void RegisterLine::CheckUnaryOp(MethodVerifier* verifier, const Instruction* inst, in CheckUnaryOp() argument
198 if (VerifyRegisterType(verifier, inst->VRegB_12x(), src_type)) { in CheckUnaryOp()
199 SetRegisterType<LockOp::kClear>(verifier, inst->VRegA_12x(), dst_type); in CheckUnaryOp()
203 void RegisterLine::CheckUnaryOpWide(MethodVerifier* verifier, const Instruction* inst, in CheckUnaryOpWide() argument
206 if (VerifyRegisterTypeWide(verifier, inst->VRegB_12x(), src_type1, src_type2)) { in CheckUnaryOpWide()
207 SetRegisterTypeWide(verifier, inst->VRegA_12x(), dst_type1, dst_type2); in CheckUnaryOpWide()
[all …]
Dmethod_verifier.cc635 for (const DexInstructionPcPair& inst : code_item_accessor_) { in FindLocksAtDexPc() local
636 if (inst->Opcode() == Instruction::MONITOR_ENTER) { in FindLocksAtDexPc()
850 const Instruction& inst = code_item_accessor_.InstructionAt(work_insn_idx_); in Fail() local
851 int opcode_flags = Instruction::FlagsOf(inst.Opcode()); in Fail()
1023 for (const DexInstructionPcPair& inst : code_item_accessor_) { in VerifyInstructions() local
1024 const uint32_t dex_pc = inst.DexPc(); in VerifyInstructions()
1025 if (!VerifyInstruction<kAllowRuntimeOnlyInstructions>(&inst.Inst(), dex_pc)) { in VerifyInstructions()
1032 if (inst->IsBranch()) { in VerifyInstructions()
1041 } else if (inst->IsSwitch() || inst->IsThrow()) { in VerifyInstructions()
1043 } else if (inst->IsReturn()) { in VerifyInstructions()
[all …]
Dregister_line.h221 const Instruction* inst,
230 const Instruction* inst,
236 const Instruction* inst,
244 const Instruction* inst,
251 const Instruction* inst,
263 const Instruction* inst,
271 const Instruction* inst,
281 const Instruction* inst,
292 const Instruction* inst,
300 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;
90 void HConstantFoldingVisitor::VisitUnaryOperation(HUnaryOperation* inst) { in VisitUnaryOperation() argument
93 HConstant* constant = inst->TryStaticEvaluation(); in VisitUnaryOperation()
95 inst->ReplaceWith(constant); in VisitUnaryOperation()
96 inst->GetBlock()->RemoveInstruction(inst); in VisitUnaryOperation()
100 void HConstantFoldingVisitor::VisitBinaryOperation(HBinaryOperation* inst) { in VisitBinaryOperation() argument
103 HConstant* constant = inst->TryStaticEvaluation(); in VisitBinaryOperation()
[all …]
Dconstant_folding_test.cc130 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
131 ASSERT_TRUE(inst->IsIntConstant()); in TEST_F()
132 ASSERT_EQ(inst->AsIntConstant()->GetValue(), -1); in TEST_F()
191 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
192 ASSERT_TRUE(inst->IsLongConstant()); in TEST_F()
193 ASSERT_EQ(inst->AsLongConstant()->GetValue(), INT64_C(-4294967296)); in TEST_F()
252 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
253 ASSERT_TRUE(inst->IsIntConstant()); in TEST_F()
254 ASSERT_EQ(inst->AsIntConstant()->GetValue(), 3); in TEST_F()
402 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
[all …]
/art/tools/ahat/src/main/com/android/ahat/heapdump/
DAhatInstance.java545 private static PathElement getNextPathElementToGcRoot(AhatInstance inst) { in getNextPathElementToGcRoot() argument
546 if (inst.isRoot()) { in getNextPathElementToGcRoot()
549 return new PathElement(inst.mNextInstanceToGcRoot, inst.mNextInstanceToGcRootField); in getNextPathElementToGcRoot()
673 static void computeRetainedSize(AhatInstance inst, int numHeaps) { in computeRetainedSize() argument
681 deque.push(inst); in computeRetainedSize()
684 inst = deque.pop(); in computeRetainedSize()
685 if (inst.mRetainedSizes == null) { in computeRetainedSize()
686 inst.mRetainedSizes = new Size[numHeaps]; in computeRetainedSize()
688 inst.mRetainedSizes[i] = Size.ZERO; in computeRetainedSize()
690 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 …]
DSite.java188 void addInstance(AhatInstance inst) { in addInstance() argument
189 mObjects.add(inst); in addInstance()
215 for (AhatInstance inst : mObjects) { in prepareForUse()
216 if (inst.isStronglyReachable()) { in prepareForUse()
217 AhatHeap heap = inst.getHeap(); in prepareForUse()
218 Size size = inst.getSize(); in prepareForUse()
219 ObjectsInfo info = getObjectsInfo(heap, inst.getClassObj()); in prepareForUse()
266 for (AhatInstance inst : mObjects) { in getObjects()
267 if ((heapName == null || inst.getHeap().getName().equals(heapName)) in getObjects()
268 && (className == null || inst.getClassName().equals(className))) { in getObjects()
[all …]
/art/dexdump/
Ddexdump_cfg.cc48 const Instruction* inst = &pair.Inst(); in dumpMethodCFGImpl() local
49 if (inst->IsBranch()) { in dumpMethodCFGImpl()
50 dex_pc_is_branch_target.insert(pair.DexPc() + inst->GetTargetOffset()); in dumpMethodCFGImpl()
51 } else if (inst->IsSwitch()) { in dumpMethodCFGImpl()
52 const uint16_t* insns = reinterpret_cast<const uint16_t*>(inst); in dumpMethodCFGImpl()
166 const Instruction* inst = &pair.Inst(); in dumpMethodCFGImpl() local
208 if (inst->IsBranch()) { in dumpMethodCFGImpl()
209 const int32_t offset = inst->GetTargetOffset(); in dumpMethodCFGImpl()
210 const bool conditional = !inst->IsUnconditional(); in dumpMethodCFGImpl()
222 } else if (inst->IsSwitch()) { in dumpMethodCFGImpl()
[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/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/test/983-source-transform-verify/
Dsource_transform_art.cc66 const Instruction& inst = pair.Inst(); in VerifyClassData() local
68 if (inst.Opcode() == Instruction::RETURN_VOID_NO_BARRIER || in VerifyClassData()
69 (inst.GetVerifyExtraFlags() & forbidden_flags) != 0) { in VerifyClassData()
72 << inst.DumpString(dex.get()) << std::endl; in VerifyClassData()
/art/tools/veridex/
Dhidden_api_finder.cc81 for (const DexInstructionPcPair& inst : code_item_accessor) { in CollectAccesses() local
82 switch (inst->Opcode()) { in CollectAccesses()
84 dex::StringIndex string_index(inst->VRegB_21c()); in CollectAccesses()
118 inst->VRegB_35c(), resolver, MethodReference(&dex_file, it.GetMemberIndex())); in CollectAccesses()
128 inst->VRegB_3rc(), resolver, MethodReference(&dex_file, it.GetMemberIndex())); in CollectAccesses()
140 inst->VRegC_22c(), resolver, MethodReference(&dex_file, it.GetMemberIndex())); in CollectAccesses()
152 inst->VRegC_22c(), resolver, MethodReference(&dex_file, it.GetMemberIndex())); in CollectAccesses()
164 inst->VRegB_21c(), resolver, MethodReference(&dex_file, it.GetMemberIndex())); in CollectAccesses()
176 inst->VRegB_21c(), resolver, MethodReference(&dex_file, it.GetMemberIndex())); in CollectAccesses()

123