Home
last modified time | relevance | path

Searched refs:load_class (Results 1 – 24 of 24) sorted by relevance

/art/compiler/optimizing/
Dprepare_for_register_allocation.cc155 HLoadClass* load_class = check->GetLoadClass(); in VisitClinitCheck() local
156 bool can_merge_with_load_class = CanMoveClinitCheck(load_class, check); in VisitClinitCheck()
158 check->ReplaceWith(load_class); in VisitClinitCheck()
164 if ((can_merge_with_load_class || !load_class->CanThrow()) && !load_class->HasUses()) { in VisitClinitCheck()
165 load_class->GetBlock()->RemoveInstruction(load_class); in VisitClinitCheck()
168 load_class->GetLoadKind() != HLoadClass::LoadKind::kRuntimeCall) { in VisitClinitCheck()
171 DCHECK(load_class->HasEnvironment()); in VisitClinitCheck()
172 load_class->SetMustGenerateClinitCheck(true); in VisitClinitCheck()
Dsharpening.cc162 HLoadClass* load_class, in ComputeLoadClassKind() argument
165 Handle<mirror::Class> klass = load_class->GetClass(); in ComputeLoadClassKind()
166 DCHECK(load_class->GetLoadKind() == HLoadClass::LoadKind::kRuntimeCall || in ComputeLoadClassKind()
167 load_class->GetLoadKind() == HLoadClass::LoadKind::kReferrersClass) in ComputeLoadClassKind()
168 << load_class->GetLoadKind(); in ComputeLoadClassKind()
169 DCHECK(!load_class->IsInImage()) << "HLoadClass should not be optimized before sharpening."; in ComputeLoadClassKind()
170 const DexFile& dex_file = load_class->GetDexFile(); in ComputeLoadClassKind()
171 dex::TypeIndex type_index = load_class->GetTypeIndex(); in ComputeLoadClassKind()
182 if (load_class->GetLoadKind() == HLoadClass::LoadKind::kReferrersClass) { in ComputeLoadClassKind()
183 DCHECK(!load_class->NeedsAccessCheck()); in ComputeLoadClassKind()
[all …]
Dssa_builder.cc474 HLoadClass* load_class = nullptr; in RemoveRedundantUninitializedStrings() local
481 load_class = input->InputAt(0)->AsLoadClass(); in RemoveRedundantUninitializedStrings()
482 input->ReplaceWith(load_class); in RemoveRedundantUninitializedStrings()
485 load_class = input->AsLoadClass(); in RemoveRedundantUninitializedStrings()
487 DCHECK(!load_class->NeedsAccessCheck()) << "String class is always accessible"; in RemoveRedundantUninitializedStrings()
489 DCHECK(load_class != nullptr); in RemoveRedundantUninitializedStrings()
490 if (!load_class->HasUses()) { in RemoveRedundantUninitializedStrings()
493 load_class->GetBlock()->RemoveInstruction(load_class); in RemoveRedundantUninitializedStrings()
Dpc_relative_fixups_x86.cc83 void VisitLoadClass(HLoadClass* load_class) override { in VisitLoadClass() argument
84 if (load_class->HasPcRelativeLoadKind()) { in VisitLoadClass()
85 HX86ComputeBaseMethodAddress* method_address = GetPCRelativeBasePointer(load_class); in VisitLoadClass()
86 load_class->AddSpecialInput(method_address); in VisitLoadClass()
Dsharpening.h41 static HLoadClass::LoadKind ComputeLoadClassKind(HLoadClass* load_class,
Dgraph_visualizer.cc409 void VisitLoadClass(HLoadClass* load_class) override { in VisitLoadClass() argument
410 StartAttributeStream("load_kind") << load_class->GetLoadKind(); in VisitLoadClass()
411 StartAttributeStream("in_image") << std::boolalpha << load_class->IsInImage(); in VisitLoadClass()
413 << load_class->GetDexFile().PrettyType(load_class->GetTypeIndex()); in VisitLoadClass()
415 << std::boolalpha << load_class->MustGenerateClinitCheck() << std::noboolalpha; in VisitLoadClass()
417 << load_class->NeedsAccessCheck() << std::noboolalpha; in VisitLoadClass()
Dreference_type_propagation.cc57 void VisitLoadClass(HLoadClass* load_class) override;
58 void VisitInstanceOf(HInstanceOf* load_class) override;
254 HLoadClass* load_class = input_one->IsLoadClass() in BoundTypeForClassCheck() local
257 if (load_class == nullptr) { in BoundTypeForClassCheck()
261 ReferenceTypeInfo class_rti = load_class->GetLoadedClassRTI(); in BoundTypeForClassCheck()
267 HInstruction* field_get = (load_class == input_one) ? input_two : input_one; in BoundTypeForClassCheck()
Dinstruction_simplifier.cc799 HLoadClass* load_class = check_cast->GetTargetClass(); in VisitCheckCast() local
800 if (!load_class->HasUses() && !load_class->NeedsAccessCheck()) { in VisitCheckCast()
804 load_class->GetBlock()->RemoveInstruction(load_class); in VisitCheckCast()
855 HLoadClass* load_class = instruction->GetTargetClass(); in VisitInstanceOf() local
856 if (!load_class->HasUses() && !load_class->NeedsAccessCheck()) { in VisitInstanceOf()
861 load_class->GetBlock()->RemoveInstruction(load_class); in VisitInstanceOf()
1751 HLoadClass* load_class = input_one->IsLoadClass() in RecognizeAndSimplifyClassCheck() local
1754 if (load_class == nullptr) { in RecognizeAndSimplifyClassCheck()
1758 ReferenceTypeInfo class_rti = load_class->GetLoadedClassRTI(); in RecognizeAndSimplifyClassCheck()
1764 HInstanceFieldGet* field_get = (load_class == input_one) in RecognizeAndSimplifyClassCheck()
[all …]
Dinliner.cc972 HLoadClass* load_class = new (graph_->GetAllocator()) HLoadClass(graph_->GetCurrentMethod(), in AddTypeGuard() local
980 load_class, codegen_, caller_compilation_unit_); in AddTypeGuard()
984 load_class->SetLoadKind(kind); in AddTypeGuard()
985 bb_cursor->InsertInstructionAfter(load_class, receiver_class); in AddTypeGuard()
989 if (load_class->NeedsEnvironment()) { in AddTypeGuard()
991 load_class->CopyEnvironmentFrom(invoke_instruction->GetEnvironment()); in AddTypeGuard()
994 HNotEqual* compare = new (graph_->GetAllocator()) HNotEqual(load_class, receiver_class); in AddTypeGuard()
995 bb_cursor->InsertInstructionAfter(compare, load_class); in AddTypeGuard()
Dcode_generator_x86.h543 void RecordBootImageTypePatch(HLoadClass* load_class);
544 void RecordAppImageTypePatch(HLoadClass* load_class);
545 Label* NewTypeBssEntryPatch(HLoadClass* load_class);
Dinstruction_builder.cc1423 HLoadClass* load_class = BuildLoadClass(type_index, dex_pc); in BuildNewInstance() local
1425 HInstruction* cls = load_class; in BuildNewInstance()
1426 Handle<mirror::Class> klass = load_class->GetClass(); in BuildNewInstance()
1429 cls = new (allocator_) HClinitCheck(load_class, dex_pc); in BuildNewInstance()
1437 if (load_class->NeedsAccessCheck() || in BuildNewInstance()
1479 HLoadClass* load_class = new_inst->GetLoadClass(); in BuildConstructorFenceForAllocation() local
1484 Handle<mirror::Class> klass = load_class->GetClass(); in BuildConstructorFenceForAllocation()
2591 HLoadClass* load_class = new (allocator_) HLoadClass( in BuildLoadClass() local
2600 HLoadClass::LoadKind load_kind = HSharpening::ComputeLoadClassKind(load_class, in BuildLoadClass()
2609 load_class->SetLoadKind(load_kind); in BuildLoadClass()
[all …]
Dcode_generator.cc842 uint32_t CodeGenerator::GetBootImageOffset(HLoadClass* load_class) NO_THREAD_SAFETY_ANALYSIS { in GetBootImageOffset() argument
843 DCHECK_EQ(load_class->GetLoadKind(), HLoadClass::LoadKind::kBootImageRelRo); in GetBootImageOffset()
844 ObjPtr<mirror::Class> klass = load_class->GetClass().Get(); in GetBootImageOffset()
Dcode_generator_x86_64.h538 Label* NewTypeBssEntryPatch(HLoadClass* load_class);
Dcode_generator_x86.cc5715 void CodeGeneratorX86::RecordBootImageTypePatch(HLoadClass* load_class) { in RecordBootImageTypePatch() argument
5717 load_class->InputAt(0)->AsX86ComputeBaseMethodAddress(); in RecordBootImageTypePatch()
5719 method_address, &load_class->GetDexFile(), load_class->GetTypeIndex().index_); in RecordBootImageTypePatch()
5723 void CodeGeneratorX86::RecordAppImageTypePatch(HLoadClass* load_class) { in RecordAppImageTypePatch() argument
5725 load_class->InputAt(0)->AsX86ComputeBaseMethodAddress(); in RecordAppImageTypePatch()
5727 method_address, &load_class->GetDexFile(), load_class->GetTypeIndex().index_); in RecordAppImageTypePatch()
5731 Label* CodeGeneratorX86::NewTypeBssEntryPatch(HLoadClass* load_class) { in NewTypeBssEntryPatch() argument
5733 load_class->InputAt(0)->AsX86ComputeBaseMethodAddress(); in NewTypeBssEntryPatch()
5735 switch (load_class->GetLoadKind()) { in NewTypeBssEntryPatch()
5746 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewTypeBssEntryPatch()
[all …]
Dcode_generator_riscv64.h595 PcRelativePatchInfo* NewTypeBssEntryPatch(HLoadClass* load_class,
Dload_store_elimination.cc1049 void VisitLoadClass(HLoadClass* load_class) override { in VisitLoadClass() argument
1050 if (load_class->CanThrow()) { in VisitLoadClass()
1051 HandleThrowingInstruction(load_class); in VisitLoadClass()
Dcode_generator.h661 static uint32_t GetBootImageOffset(HLoadClass* load_class);
Dcode_generator_arm_vixl.h715 PcRelativePatchInfo* NewTypeBssEntryPatch(HLoadClass* load_class);
Dcode_generator_arm64.h834 vixl::aarch64::Label* NewBssEntryTypePatch(HLoadClass* load_class,
Dcode_generator_arm64.cc5167 HLoadClass* load_class, in NewBssEntryTypePatch() argument
5169 const DexFile& dex_file = load_class->GetDexFile(); in NewBssEntryTypePatch()
5170 dex::TypeIndex type_index = load_class->GetTypeIndex(); in NewBssEntryTypePatch()
5172 switch (load_class->GetLoadKind()) { in NewBssEntryTypePatch()
5183 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewBssEntryTypePatch()
Dcode_generator_riscv64.cc6539 HLoadClass* load_class, in NewTypeBssEntryPatch() argument
6541 const DexFile& dex_file = load_class->GetDexFile(); in NewTypeBssEntryPatch()
6542 dex::TypeIndex type_index = load_class->GetTypeIndex(); in NewTypeBssEntryPatch()
6544 switch (load_class->GetLoadKind()) { in NewTypeBssEntryPatch()
6555 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewTypeBssEntryPatch()
Dcode_generator_x86_64.cc1337 Label* CodeGeneratorX86_64::NewTypeBssEntryPatch(HLoadClass* load_class) { in NewTypeBssEntryPatch() argument
1339 switch (load_class->GetLoadKind()) { in NewTypeBssEntryPatch()
1350 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewTypeBssEntryPatch()
1353 patches->emplace_back(&load_class->GetDexFile(), load_class->GetTypeIndex().index_); in NewTypeBssEntryPatch()
Dcode_generator_arm_vixl.cc9711 HLoadClass* load_class) { in NewTypeBssEntryPatch() argument
9712 const DexFile& dex_file = load_class->GetDexFile(); in NewTypeBssEntryPatch()
9713 dex::TypeIndex type_index = load_class->GetTypeIndex(); in NewTypeBssEntryPatch()
9715 switch (load_class->GetLoadKind()) { in NewTypeBssEntryPatch()
9726 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewTypeBssEntryPatch()
Dnodes.h7766 HInstruction* load_class = InputAt(1);
7767 DCHECK(load_class->IsLoadClass());
7768 return load_class->AsLoadClass();