/art/compiler/optimizing/ |
D | prepare_for_register_allocation.cc | 155 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()
|
D | sharpening.cc | 162 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->IsInBootImage()) << "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 …]
|
D | ssa_builder.cc | 474 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()
|
D | pc_relative_fixups_x86.cc | 83 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()
|
D | sharpening.h | 41 static HLoadClass::LoadKind ComputeLoadClassKind(HLoadClass* load_class,
|
D | instruction_simplifier.cc | 672 HLoadClass* load_class = check_cast->GetTargetClass(); in VisitCheckCast() local 673 if (!load_class->HasUses() && !load_class->NeedsAccessCheck()) { in VisitCheckCast() 677 load_class->GetBlock()->RemoveInstruction(load_class); in VisitCheckCast() 728 HLoadClass* load_class = instruction->GetTargetClass(); in VisitInstanceOf() local 729 if (!load_class->HasUses() && !load_class->NeedsAccessCheck()) { in VisitInstanceOf() 734 load_class->GetBlock()->RemoveInstruction(load_class); in VisitInstanceOf() 1677 HLoadClass* load_class = input_one->IsLoadClass() in RecognizeAndSimplifyClassCheck() local 1680 if (load_class == nullptr) { in RecognizeAndSimplifyClassCheck() 1684 ReferenceTypeInfo class_rti = load_class->GetLoadedClassRTI(); in RecognizeAndSimplifyClassCheck() 1690 HInstanceFieldGet* field_get = (load_class == input_one) in RecognizeAndSimplifyClassCheck() [all …]
|
D | reference_type_propagation.cc | 57 void VisitLoadClass(HLoadClass* load_class) override; 58 void VisitInstanceOf(HInstanceOf* load_class) override; 255 HLoadClass* load_class = input_one->IsLoadClass() in BoundTypeForClassCheck() local 258 if (load_class == nullptr) { in BoundTypeForClassCheck() 262 ReferenceTypeInfo class_rti = load_class->GetLoadedClassRTI(); in BoundTypeForClassCheck() 268 HInstruction* field_get = (load_class == input_one) ? input_two : input_one; in BoundTypeForClassCheck()
|
D | graph_visualizer.cc | 410 void VisitLoadClass(HLoadClass* load_class) override { in VisitLoadClass() argument 411 StartAttributeStream("load_kind") << load_class->GetLoadKind(); 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()
|
D | inliner.cc | 903 HLoadClass* load_class = new (graph_->GetAllocator()) HLoadClass(graph_->GetCurrentMethod(), in AddTypeGuard() local 911 load_class, codegen_, caller_compilation_unit_); in AddTypeGuard() 915 load_class->SetLoadKind(kind); in AddTypeGuard() 916 bb_cursor->InsertInstructionAfter(load_class, receiver_class); in AddTypeGuard() 920 if (load_class->NeedsEnvironment()) { in AddTypeGuard() 922 load_class->CopyEnvironmentFrom(invoke_instruction->GetEnvironment()); in AddTypeGuard() 925 HNotEqual* compare = new (graph_->GetAllocator()) HNotEqual(load_class, receiver_class); in AddTypeGuard() 926 bb_cursor->InsertInstructionAfter(compare, load_class); in AddTypeGuard()
|
D | instruction_builder.cc | 1415 HLoadClass* load_class = BuildLoadClass(type_index, dex_pc); in BuildNewInstance() local 1417 HInstruction* cls = load_class; in BuildNewInstance() 1418 Handle<mirror::Class> klass = load_class->GetClass(); in BuildNewInstance() 1421 cls = new (allocator_) HClinitCheck(load_class, dex_pc); in BuildNewInstance() 1429 if (load_class->NeedsAccessCheck() || in BuildNewInstance() 1471 HLoadClass* load_class = new_inst->GetLoadClass(); in BuildConstructorFenceForAllocation() local 1476 Handle<mirror::Class> klass = load_class->GetClass(); in BuildConstructorFenceForAllocation() 2583 HLoadClass* load_class = new (allocator_) HLoadClass( in BuildLoadClass() local 2592 HLoadClass::LoadKind load_kind = HSharpening::ComputeLoadClassKind(load_class, in BuildLoadClass() 2601 load_class->SetLoadKind(load_kind); in BuildLoadClass() [all …]
|
D | code_generator_x86.h | 552 void RecordBootImageTypePatch(HLoadClass* load_class); 553 Label* NewTypeBssEntryPatch(HLoadClass* load_class);
|
D | code_generator.cc | 925 uint32_t CodeGenerator::GetBootImageOffset(HLoadClass* load_class) NO_THREAD_SAFETY_ANALYSIS { in GetBootImageOffset() argument 926 DCHECK_EQ(load_class->GetLoadKind(), HLoadClass::LoadKind::kBootImageRelRo); in GetBootImageOffset() 927 ObjPtr<mirror::Class> klass = load_class->GetClass().Get(); in GetBootImageOffset()
|
D | code_generator_x86_64.h | 536 Label* NewTypeBssEntryPatch(HLoadClass* load_class);
|
D | code_generator.h | 664 static uint32_t GetBootImageOffset(HLoadClass* load_class);
|
D | code_generator_x86.cc | 5594 void CodeGeneratorX86::RecordBootImageTypePatch(HLoadClass* load_class) { in RecordBootImageTypePatch() argument 5596 load_class->InputAt(0)->AsX86ComputeBaseMethodAddress(); in RecordBootImageTypePatch() 5598 method_address, &load_class->GetDexFile(), load_class->GetTypeIndex().index_); in RecordBootImageTypePatch() 5602 Label* CodeGeneratorX86::NewTypeBssEntryPatch(HLoadClass* load_class) { in NewTypeBssEntryPatch() argument 5604 load_class->InputAt(0)->AsX86ComputeBaseMethodAddress(); in NewTypeBssEntryPatch() 5606 switch (load_class->GetLoadKind()) { in NewTypeBssEntryPatch() 5617 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewTypeBssEntryPatch() 5621 method_address, &load_class->GetDexFile(), load_class->GetTypeIndex().index_); in NewTypeBssEntryPatch()
|
D | code_generator_arm_vixl.h | 683 PcRelativePatchInfo* NewTypeBssEntryPatch(HLoadClass* load_class);
|
D | code_generator_arm64.h | 808 vixl::aarch64::Label* NewBssEntryTypePatch(HLoadClass* load_class,
|
D | load_store_elimination.cc | 1175 void VisitLoadClass(HLoadClass* load_class) override { in VisitLoadClass() argument 1176 if (load_class->CanThrow()) { in VisitLoadClass() 1177 HandleThrowingInstruction(load_class); in VisitLoadClass()
|
D | code_generator_arm64.cc | 5012 HLoadClass* load_class, in NewBssEntryTypePatch() argument 5014 const DexFile& dex_file = load_class->GetDexFile(); in NewBssEntryTypePatch() 5015 dex::TypeIndex type_index = load_class->GetTypeIndex(); in NewBssEntryTypePatch() 5017 switch (load_class->GetLoadKind()) { in NewBssEntryTypePatch() 5028 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewBssEntryTypePatch()
|
D | code_generator_x86_64.cc | 1279 Label* CodeGeneratorX86_64::NewTypeBssEntryPatch(HLoadClass* load_class) { in NewTypeBssEntryPatch() argument 1281 switch (load_class->GetLoadKind()) { in NewTypeBssEntryPatch() 1292 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewTypeBssEntryPatch() 1295 patches->emplace_back(&load_class->GetDexFile(), load_class->GetTypeIndex().index_); in NewTypeBssEntryPatch()
|
D | code_generator_arm_vixl.cc | 9552 HLoadClass* load_class) { in NewTypeBssEntryPatch() argument 9553 const DexFile& dex_file = load_class->GetDexFile(); in NewTypeBssEntryPatch() 9554 dex::TypeIndex type_index = load_class->GetTypeIndex(); in NewTypeBssEntryPatch() 9556 switch (load_class->GetLoadKind()) { in NewTypeBssEntryPatch() 9567 LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind(); in NewTypeBssEntryPatch()
|
D | nodes.h | 7875 HInstruction* load_class = InputAt(1); 7876 DCHECK(load_class->IsLoadClass()); 7877 return load_class->AsLoadClass();
|