Home
last modified time | relevance | path

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

123

/art/compiler/optimizing/
Dconstant_folding.cc41 void VisitUnaryOperation(HUnaryOperation* inst) override;
42 void VisitBinaryOperation(HBinaryOperation* inst) override;
49 bool TryRemoveBinaryOperationViaSelect(HBinaryOperation* inst);
51 void VisitArrayLength(HArrayLength* inst) override;
52 void VisitDivZeroCheck(HDivZeroCheck* inst) override;
53 void VisitIf(HIf* inst) override;
54 void VisitInvoke(HInvoke* inst) override;
55 void VisitTypeConversion(HTypeConversion* inst) override;
125 void HConstantFoldingVisitor::VisitUnaryOperation(HUnaryOperation* inst) { in VisitUnaryOperation() argument
128 HConstant* constant = inst->TryStaticEvaluation(); in VisitUnaryOperation()
[all …]
Dinstruction_simplifier_riscv64.cc91 void VisitAnd(HAnd* inst) override { in VisitAnd() argument
92 if (TryMergeNegatedInput(inst)) { in VisitAnd()
97 void VisitOr(HOr* inst) override { in VisitOr() argument
98 if (TryMergeNegatedInput(inst)) { in VisitOr()
103 void VisitSub(HSub* inst) override { in VisitSub() argument
104 if (TryMergeWithAnd(inst)) { in VisitSub()
109 void VisitXor(HXor* inst) override { in VisitXor() argument
110 if (TryMergeNegatedInput(inst)) { in VisitXor()
Dconstant_folding_test.cc127 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
128 ASSERT_TRUE(inst->IsIntConstant()); in TEST_F()
129 ASSERT_EQ(inst->AsIntConstant()->GetValue(), -1); in TEST_F()
188 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
189 ASSERT_TRUE(inst->IsLongConstant()); in TEST_F()
190 ASSERT_EQ(inst->AsLongConstant()->GetValue(), INT64_C(-4294967296)); in TEST_F()
249 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
250 ASSERT_TRUE(inst->IsIntConstant()); in TEST_F()
251 ASSERT_EQ(inst->AsIntConstant()->GetValue(), 3); in TEST_F()
399 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() local
[all …]
Dload_store_analysis.cc93 bool HeapLocationCollector::InstructionEligibleForLSERemoval(HInstruction* inst) const { in InstructionEligibleForLSERemoval()
94 if (inst->IsNewInstance()) { in InstructionEligibleForLSERemoval()
95 return !inst->AsNewInstance()->NeedsChecks(); in InstructionEligibleForLSERemoval()
96 } else if (inst->IsNewArray()) { in InstructionEligibleForLSERemoval()
97 HInstruction* array_length = inst->AsNewArray()->GetLength(); in InstructionEligibleForLSERemoval()
101 std::all_of(inst->GetUses().cbegin(), in InstructionEligibleForLSERemoval()
102 inst->GetUses().cend(), in InstructionEligibleForLSERemoval()
/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 …]
DOverviewHandler.java94 for (AhatBitmapInstance inst : list) { in printDuplicateBitmaps()
95 AhatInstance base = inst.getBaseline(); in printDuplicateBitmaps()
96 SizeTable.row(doc, inst.getSize(), base.getSize(), in printDuplicateBitmaps()
97 DocString.text(inst.getHeap().getName()), in printDuplicateBitmaps()
98 Summarizer.summarize(inst)); in printDuplicateBitmaps()
99 totalSize = totalSize.plus(inst.getSize()); in printDuplicateBitmaps()
/art/runtime/verifier/
Dmethod_verifier.cc286 bool VerifyInstruction(const Instruction* inst, uint32_t code_offset);
446 …bool CheckSignaturePolymorphicReceiver(const Instruction* inst) REQUIRES_SHARED(Locks::mutator_loc…
522 void VerifyNewArray(const Instruction* inst, bool is_filled, bool is_range)
533 void VerifyAGet(const Instruction* inst, const RegType& insn_type,
537 void VerifyAPut(const Instruction* inst, const RegType& insn_type,
549 void VerifyISFieldAccess(const Instruction* inst, const RegType& insn_type,
597 ArtMethod* VerifyInvocationArgs(const Instruction* inst, MethodType method_type, bool is_range)
602 void VerifyInvocationArgsUnresolvedMethod(const Instruction* inst, MethodType method_type,
607 ArtMethod* VerifyInvocationArgsFromIterator(T* it, const Instruction* inst,
708 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>(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(inst->VRegA_12x(), dst_type1, dst_type2); in CheckUnaryOpWide()
[all …]
Dregister_line.h230 const Instruction* inst,
239 const Instruction* inst,
245 const Instruction* inst,
253 const Instruction* inst,
260 const Instruction* inst,
272 const Instruction* inst,
280 const Instruction* inst,
290 const Instruction* inst,
301 const Instruction* inst,
309 const Instruction* inst,
[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.java655 private static PathElement getNextPathElementToGcRoot(AhatInstance inst) { in getNextPathElementToGcRoot() argument
656 if (inst.isRoot()) { in getNextPathElementToGcRoot()
659 return new PathElement(inst.mNextInstanceToGcRoot, inst.mNextInstanceToGcRootField); in getNextPathElementToGcRoot()
771 static void computeRetainedSize(AhatInstance inst, int numHeaps) { in computeRetainedSize() argument
779 deque.push(inst); in computeRetainedSize()
782 inst = deque.pop(); in computeRetainedSize()
783 if (inst.mRetainedSizes == null) { in computeRetainedSize()
784 inst.mRetainedSizes = new Size[numHeaps]; in computeRetainedSize()
786 inst.mRetainedSizes[i] = Size.ZERO; in computeRetainedSize()
788 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.java57 for (AhatInstance inst : mInstances) { in AhatSnapshot()
59 inst.getSite().addInstance(inst); in AhatSnapshot()
62 AhatInstance.RegisteredNativeAllocation nra = inst.asRegisteredNativeAllocation(); in AhatSnapshot()
67 if (retained == Reachability.UNREACHABLE && inst.isUnreachable()) { in AhatSnapshot()
68 mSuperRoot.addRoot(inst); in AhatSnapshot()
125 AhatInstance inst = findInstance(id); in findClassObj() local
126 return inst == null ? null : inst.asClassObj(); in findClassObj()
DSite.java190 void addInstance(AhatInstance inst) { in addInstance() argument
191 mObjects.add(inst); in addInstance()
218 for (AhatInstance inst : mObjects) { in prepareForUse()
219 if (inst.getReachability().notWeakerThan(retained)) { in prepareForUse()
220 AhatHeap heap = inst.getHeap(); in prepareForUse()
221 Size size = inst.getSize(); in prepareForUse()
222 ObjectsInfo info = getObjectsInfo(heap, inst.getClassObj()); in prepareForUse()
285 for (AhatInstance inst : mObjects) { in getObjects()
286 if (predicate.test(inst)) { in getObjects()
287 consumer.accept(inst); in getObjects()
/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/runtime/interpreter/mterp/
Dnterp.cc264 const Instruction* inst = Instruction::At(dex_pc_ptr); in NterpGetShortyFromInvokePolymorphic() local
265 dex::ProtoIndex proto_idx(inst->Opcode() == Instruction::INVOKE_POLYMORPHIC in NterpGetShortyFromInvokePolymorphic()
266 ? inst->VRegH_45cc() in NterpGetShortyFromInvokePolymorphic()
267 : inst->VRegH_4rcc()); in NterpGetShortyFromInvokePolymorphic()
274 const Instruction* inst = Instruction::At(dex_pc_ptr); in NterpGetShortyFromInvokeCustom() local
275 uint16_t call_site_index = (inst->Opcode() == Instruction::INVOKE_CUSTOM in NterpGetShortyFromInvokeCustom()
276 ? inst->VRegB_35c() in NterpGetShortyFromInvokeCustom()
277 : inst->VRegB_3rc()); in NterpGetShortyFromInvokeCustom()
323 const Instruction* inst = Instruction::At(dex_pc_ptr); in NterpGetMethod() local
324 Instruction::Code opcode = inst->Opcode(); in NterpGetMethod()
[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/runtime/interpreter/
Dinterpreter_common.h120 const Instruction* inst,
163 const Instruction* inst, in DoInvoke() argument
171 const uint32_t vregC = is_range ? inst->VRegC_3rc() : inst->VRegC_35c(); in DoInvoke()
176 self, sf_method, &obj, *inst, /* only_lookup_tls_cache= */ false, &string_init); in DoInvoke()
184 called_method, self, shadow_frame, inst, inst_data, string_init, result); in DoInvoke()
206 const Instruction* inst, \
216 const Instruction* inst,
232 const Instruction* inst, in DoInvokeCustom() argument
236 const uint32_t call_site_idx = is_range ? inst->VRegB_3rc() : inst->VRegB_35c(); in DoInvokeCustom()
238 RangeInstructionOperands operands(inst->VRegC_3rc(), inst->VRegA_3rc()); in DoInvokeCustom()
[all …]
Dinterpreter_common.cc207 void UnexpectedOpcode(const Instruction* inst, const ShadowFrame& shadow_frame) { in UnexpectedOpcode() argument
209 << inst->DumpString(shadow_frame.GetMethod()->GetDexFile()); in UnexpectedOpcode()
296 const Instruction* inst, in DoMethodHandleInvokeCommon() argument
305 const uint32_t vRegC = (is_range) ? inst->VRegC_4rcc() : inst->VRegC_45cc(); in DoMethodHandleInvokeCommon()
306 const int invoke_method_idx = (is_range) ? inst->VRegB_4rcc() : inst->VRegB_45cc(); in DoMethodHandleInvokeCommon()
328 const uint16_t vRegH = (is_range) ? inst->VRegH_4rcc() : inst->VRegH_45cc(); in DoMethodHandleInvokeCommon()
351 RangeInstructionOperands operands(inst->VRegC_4rcc() + 1, inst->VRegA_4rcc() - 1); in DoMethodHandleInvokeCommon()
370 inst->GetVarArgs(args, inst_data); in DoMethodHandleInvokeCommon()
374 VarArgsInstructionOperands operands(args, inst->VRegA_45cc() - 1); in DoMethodHandleInvokeCommon()
395 const Instruction* inst, in DoMethodHandleInvokeExact() argument
[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/tools/veridex/
Dhidden_api_finder.cc66 for (const DexInstructionPcPair& inst : codes) { in CollectAccesses() local
67 if (inst.DexPc() >= max_pc) { in CollectAccesses()
72 switch (inst->Opcode()) { in CollectAccesses()
74 dex::StringIndex string_index(inst->VRegB_21c()); in CollectAccesses()
106 CheckMethod(inst->VRegB_35c(), resolver, method.GetReference()); in CollectAccesses()
115 CheckMethod(inst->VRegB_3rc(), resolver, method.GetReference()); in CollectAccesses()
126 CheckField(inst->VRegC_22c(), resolver, method.GetReference()); in CollectAccesses()
137 CheckField(inst->VRegC_22c(), resolver, method.GetReference()); in CollectAccesses()
148 CheckField(inst->VRegB_21c(), resolver, method.GetReference()); in CollectAccesses()
159 CheckField(inst->VRegB_21c(), resolver, method.GetReference()); in CollectAccesses()
/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.cc56 const Instruction& inst = pair.Inst(); in VerifyClassData() local
58 if ((inst.GetVerifyExtraFlags() & forbidden_flags) != 0) { in VerifyClassData()
61 << inst.DumpString(dex.get()) << std::endl; in VerifyClassData()

123