/art/compiler/optimizing/ |
D | code_generator.cc | 191 SlowPathCode* slow_path = slow_path_unique_ptr.get(); in GenerateSlowPaths() local 192 current_slow_path_ = slow_path; in GenerateSlowPaths() 197 MaybeRecordNativeDebugInfo(slow_path->GetInstruction(), slow_path->GetDexPc(), slow_path); in GenerateSlowPaths() 198 slow_path->EmitNativeCode(this); in GenerateSlowPaths() 200 disasm_info_->AddSlowPathInterval(slow_path, code_start, GetAssembler()->CodeSize()); in GenerateSlowPaths() 701 SlowPathCode* slow_path) { in RecordPcInfo() argument 770 EmitEnvironment(instruction->GetEnvironment(), slow_path); in RecordPcInfo() 784 EmitEnvironment(instruction->GetEnvironment(), slow_path); in RecordPcInfo() 822 SlowPathCode* slow_path) { in MaybeRecordNativeDebugInfo() argument 828 RecordPcInfo(instruction, dex_pc, slow_path); in MaybeRecordNativeDebugInfo() [all …]
|
D | intrinsics_arm64.cc | 1158 SlowPathCodeARM64* slow_path = new (GetAllocator()) IntrinsicSlowPathARM64(invoke); in VisitStringCharAt() local 1159 codegen_->AddSlowPath(slow_path); in VisitStringCharAt() 1164 __ B(hs, slow_path->GetEntryLabel()); in VisitStringCharAt() 1171 __ Bind(slow_path->GetExitLabel()); in VisitStringCharAt() 1193 SlowPathCodeARM64* slow_path = new (GetAllocator()) IntrinsicSlowPathARM64(invoke); in VisitStringCompareTo() local 1194 codegen_->AddSlowPath(slow_path); in VisitStringCompareTo() 1195 __ B(eq, slow_path->GetEntryLabel()); in VisitStringCompareTo() 1200 __ Bind(slow_path->GetExitLabel()); in VisitStringCompareTo() 1312 SlowPathCodeARM64* slow_path = nullptr; in GenerateVisitStringIndexOf() local 1317 slow_path = new (allocator) IntrinsicSlowPathARM64(invoke); in GenerateVisitStringIndexOf() [all …]
|
D | graph_visualizer.h | 44 const SlowPathCode* slow_path; member 70 void AddSlowPathInterval(SlowPathCode* slow_path, size_t start, size_t end) { in AddSlowPathInterval() argument 71 slow_path_intervals_.push_back({slow_path, {start, end}}); in AddSlowPathInterval()
|
D | intrinsics_arm.cc | 971 SlowPathCode* slow_path = new (GetAllocator()) IntrinsicSlowPathARM(invoke); in VisitStringCharAt() local 972 codegen_->AddSlowPath(slow_path); in VisitStringCharAt() 977 __ b(slow_path->GetEntryLabel(), CS); in VisitStringCharAt() 984 __ Bind(slow_path->GetExitLabel()); in VisitStringCharAt() 1007 SlowPathCode* slow_path = new (GetAllocator()) IntrinsicSlowPathARM(invoke); in VisitStringCompareTo() local 1008 codegen_->AddSlowPath(slow_path); in VisitStringCompareTo() 1009 __ b(slow_path->GetEntryLabel(), EQ); in VisitStringCompareTo() 1014 __ Bind(slow_path->GetExitLabel()); in VisitStringCompareTo() 1125 SlowPathCode* slow_path = nullptr; in GenerateVisitStringIndexOf() local 1131 slow_path = new (allocator) IntrinsicSlowPathARM(invoke); in GenerateVisitStringIndexOf() [all …]
|
D | intrinsics_x86_64.cc | 922 SlowPathCode* slow_path = new (GetAllocator()) IntrinsicSlowPathX86_64(invoke); in VisitStringCharAt() local 923 codegen_->AddSlowPath(slow_path); in VisitStringCharAt() 929 __ j(kAboveEqual, slow_path->GetEntryLabel()); in VisitStringCharAt() 934 __ Bind(slow_path->GetExitLabel()); in VisitStringCharAt() 980 SlowPathCode* slow_path, in CheckPosition() argument 998 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() 1004 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() 1013 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() 1019 __ j(kNotEqual, slow_path->GetEntryLabel()); in CheckPosition() 1024 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() [all …]
|
D | code_generator.h | 276 void RecordPcInfo(HInstruction* instruction, uint32_t dex_pc, SlowPathCode* slow_path = nullptr); 282 SlowPathCode* slow_path = nullptr); 302 void AddSlowPath(SlowPathCode* slow_path) { in AddSlowPath() argument 303 slow_paths_.push_back(std::unique_ptr<SlowPathCode>(slow_path)); in AddSlowPath() 356 void ValidateInvokeRuntime(HInstruction* instruction, SlowPathCode* slow_path); 444 SlowPathCode* slow_path) = 0; 614 void EmitEnvironment(HEnvironment* environment, SlowPathCode* slow_path); 738 SlowPathCodeType* slow_path = new (graph_->GetArena()) SlowPathCodeType(instruction); in NewSlowPath() local 739 iter->second.emplace_back(std::make_pair(instruction, slow_path)); in NewSlowPath() 740 codegen_->AddSlowPath(slow_path); in NewSlowPath() [all …]
|
D | intrinsics_x86.cc | 1060 SlowPathCode* slow_path = new (GetAllocator()) IntrinsicSlowPathX86(invoke); in VisitStringCharAt() local 1061 codegen_->AddSlowPath(slow_path); in VisitStringCharAt() 1067 __ j(kAboveEqual, slow_path->GetEntryLabel()); in VisitStringCharAt() 1072 __ Bind(slow_path->GetExitLabel()); in VisitStringCharAt() 1129 SlowPathCode* slow_path, in CheckPosition() argument 1140 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() 1145 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() 1150 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() 1156 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() 1160 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition() [all …]
|
D | code_generator_arm64.cc | 1457 SlowPathCode* slow_path) { in InvokeRuntime() argument 1461 slow_path); in InvokeRuntime() 1467 SlowPathCode* slow_path) { in InvokeRuntime() argument 1468 ValidateInvokeRuntime(instruction, slow_path); in InvokeRuntime() 1472 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime() 1475 void InstructionCodeGeneratorARM64::GenerateClassInitializationCheck(SlowPathCodeARM64* slow_path, in GenerateClassInitializationCheck() argument 1486 __ B(lt, slow_path->GetEntryLabel()); in GenerateClassInitializationCheck() 1487 __ Bind(slow_path->GetExitLabel()); in GenerateClassInitializationCheck() 1515 SuspendCheckSlowPathARM64* slow_path = in GenerateSuspendCheck() local 1517 if (slow_path == nullptr) { in GenerateSuspendCheck() [all …]
|
D | intrinsics_mips64.cc | 1317 SlowPathCodeMIPS64* slow_path = new (GetAllocator()) IntrinsicSlowPathMIPS64(invoke); in VisitStringCharAt() local 1318 codegen_->AddSlowPath(slow_path); in VisitStringCharAt() 1324 __ Bgeuc(idx, TMP, slow_path->GetEntryLabel()); in VisitStringCharAt() 1331 __ Bind(slow_path->GetExitLabel()); in VisitStringCharAt() 1354 SlowPathCodeMIPS64* slow_path = new (GetAllocator()) IntrinsicSlowPathMIPS64(invoke); in VisitStringCompareTo() local 1355 codegen_->AddSlowPath(slow_path); in VisitStringCompareTo() 1356 __ Beqzc(argument, slow_path->GetEntryLabel()); in VisitStringCompareTo() 1364 __ Bind(slow_path->GetExitLabel()); in VisitStringCompareTo() 1482 SlowPathCodeMIPS64* slow_path = nullptr; in GenerateStringIndexOf() local 1488 slow_path = new (allocator) IntrinsicSlowPathMIPS64(invoke); in GenerateStringIndexOf() [all …]
|
D | code_generator_x86_64.cc | 972 SlowPathCode* slow_path) { in InvokeRuntime() argument 976 slow_path); in InvokeRuntime() 982 SlowPathCode* slow_path) { in InvokeRuntime() argument 983 ValidateInvokeRuntime(instruction, slow_path); in InvokeRuntime() 985 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime() 1525 SlowPathCode* slow_path = deopt_slow_paths_.NewSlowPath<DeoptimizationSlowPathX86_64>(deoptimize); in VisitDeoptimize() local 1528 slow_path->GetEntryLabel(), in VisitDeoptimize() 3511 SlowPathCode* slow_path = in GenerateDivRemIntegral() local 3514 codegen_->AddSlowPath(slow_path); in GenerateDivRemIntegral() 3522 __ j(kEqual, slow_path->GetEntryLabel()); in GenerateDivRemIntegral() [all …]
|
D | code_generator_arm.cc | 1192 SlowPathCode* slow_path) { in InvokeRuntime() argument 1196 slow_path); in InvokeRuntime() 1202 SlowPathCode* slow_path) { in InvokeRuntime() argument 1203 ValidateInvokeRuntime(instruction, slow_path); in InvokeRuntime() 1206 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime() 1491 SlowPathCode* slow_path = deopt_slow_paths_.NewSlowPath<DeoptimizationSlowPathARM>(deoptimize); in VisitDeoptimize() local 1494 slow_path->GetEntryLabel(), in VisitDeoptimize() 3086 SlowPathCode* slow_path = new (GetGraph()->GetArena()) DivZeroCheckSlowPathARM(instruction); in VisitDivZeroCheck() local 3087 codegen_->AddSlowPath(slow_path); in VisitDivZeroCheck() 3099 __ CompareAndBranchIfZero(value.AsRegister<Register>(), slow_path->GetEntryLabel()); in VisitDivZeroCheck() [all …]
|
D | code_generator_x86.cc | 764 SlowPathCode* slow_path) { in InvokeRuntime() argument 768 slow_path); in InvokeRuntime() 774 SlowPathCode* slow_path) { in InvokeRuntime() argument 775 ValidateInvokeRuntime(instruction, slow_path); in InvokeRuntime() 777 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime() 1482 SlowPathCode* slow_path = deopt_slow_paths_.NewSlowPath<DeoptimizationSlowPathX86>(deoptimize); in VisitDeoptimize() local 1485 slow_path->GetEntryLabel(), in VisitDeoptimize() 3382 SlowPathCode* slow_path = new (GetGraph()->GetArena()) DivRemMinusOneSlowPathX86( in GenerateDivRemIntegral() local 3384 codegen_->AddSlowPath(slow_path); in GenerateDivRemIntegral() 3392 __ j(kEqual, slow_path->GetEntryLabel()); in GenerateDivRemIntegral() [all …]
|
D | intrinsics_mips.cc | 1906 SlowPathCodeMIPS* slow_path = new (GetAllocator()) IntrinsicSlowPathMIPS(invoke); in VisitStringCharAt() local 1907 codegen_->AddSlowPath(slow_path); in VisitStringCharAt() 1913 __ Bgeu(idx, TMP, slow_path->GetEntryLabel()); in VisitStringCharAt() 1920 __ Bind(slow_path->GetExitLabel()); in VisitStringCharAt() 1943 SlowPathCodeMIPS* slow_path = new (GetAllocator()) IntrinsicSlowPathMIPS(invoke); in VisitStringCompareTo() local 1944 codegen_->AddSlowPath(slow_path); in VisitStringCompareTo() 1945 __ Beqz(argument, slow_path->GetEntryLabel()); in VisitStringCompareTo() 1954 __ Bind(slow_path->GetExitLabel()); in VisitStringCompareTo() 2072 SlowPathCodeMIPS* slow_path = nullptr; in GenerateStringIndexOf() local 2078 slow_path = new (allocator) IntrinsicSlowPathMIPS(invoke); in GenerateStringIndexOf() [all …]
|
D | code_generator_mips64.cc | 960 SlowPathCode* slow_path) { in InvokeRuntime() argument 964 slow_path); in InvokeRuntime() 970 SlowPathCode* slow_path) { in InvokeRuntime() argument 971 ValidateInvokeRuntime(instruction, slow_path); in InvokeRuntime() 976 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime() 979 void InstructionCodeGeneratorMIPS64::GenerateClassInitializationCheck(SlowPathCodeMIPS64* slow_path, in GenerateClassInitializationCheck() argument 983 __ Bltc(TMP, AT, slow_path->GetEntryLabel()); in GenerateClassInitializationCheck() 985 __ Bind(slow_path->GetExitLabel()); in GenerateClassInitializationCheck() 994 SuspendCheckSlowPathMIPS64* slow_path = in GenerateSuspendCheck() local 996 codegen_->AddSlowPath(slow_path); in GenerateSuspendCheck() [all …]
|
D | code_generator_mips.cc | 1067 SlowPathCode* slow_path) { in InvokeRuntime() argument 1071 slow_path, in InvokeRuntime() 1080 SlowPathCode* slow_path, in InvokeRuntime() argument 1093 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime() 1096 void InstructionCodeGeneratorMIPS::GenerateClassInitializationCheck(SlowPathCodeMIPS* slow_path, in GenerateClassInitializationCheck() argument 1100 __ Blt(TMP, AT, slow_path->GetEntryLabel()); in GenerateClassInitializationCheck() 1103 __ Bind(slow_path->GetExitLabel()); in GenerateClassInitializationCheck() 1112 SuspendCheckSlowPathMIPS* slow_path = in GenerateSuspendCheck() local 1114 codegen_->AddSlowPath(slow_path); in GenerateSuspendCheck() 1121 __ Bnez(TMP, slow_path->GetEntryLabel()); in GenerateSuspendCheck() [all …]
|
D | code_generator_mips64.h | 221 void GenerateClassInitializationCheck(SlowPathCodeMIPS64* slow_path, GpuRegister class_reg); 327 SlowPathCode* slow_path) OVERRIDE; 332 SlowPathCode* slow_path);
|
D | code_generator_mips.h | 221 void GenerateClassInitializationCheck(SlowPathCodeMIPS* slow_path, Register class_reg); 332 SlowPathCode* slow_path) OVERRIDE; 337 SlowPathCode* slow_path,
|
D | code_generator_x86_64.h | 211 void GenerateClassInitializationCheck(SlowPathCode* slow_path, CpuRegister class_reg); 314 SlowPathCode* slow_path) OVERRIDE; 319 SlowPathCode* slow_path);
|
D | code_generator_x86.h | 210 void GenerateClassInitializationCheck(SlowPathCode* slow_path, Register class_reg); 332 SlowPathCode* slow_path) OVERRIDE; 337 SlowPathCode* slow_path);
|
D | code_generator_arm.h | 217 void GenerateClassInitializationCheck(SlowPathCode* slow_path, Register class_reg); 371 SlowPathCode* slow_path) OVERRIDE; 376 SlowPathCode* slow_path);
|
D | code_generator_arm64.h | 213 void GenerateClassInitializationCheck(SlowPathCodeARM64* slow_path, vixl::Register class_reg); 445 SlowPathCode* slow_path) OVERRIDE; 450 SlowPathCode* slow_path);
|
D | graph_visualizer.cc | 677 output_ << " 0 0 disasm " << info.slow_path->GetDescription() << "\n"; in DumpDisassemblyBlockForSlowPaths()
|
D | nodes.h | 5302 void SetSlowPath(SlowPathCode* slow_path) { slow_path_ = slow_path; } in SetSlowPath() argument
|
/art/runtime/entrypoints/ |
D | entrypoint_utils-inl.h | 93 Thread* self, bool* slow_path) { in CheckObjectAlloc() argument 99 *slow_path = true; in CheckObjectAlloc() 110 *slow_path = true; in CheckObjectAlloc() 116 *slow_path = true; in CheckObjectAlloc() 131 *slow_path = true; in CheckObjectAlloc() 146 bool* slow_path) { in CheckClassInitializedForObjectAlloc() argument 158 *slow_path = true; in CheckClassInitializedForObjectAlloc() 178 bool slow_path = false; in AllocObjectFromCode() local 179 mirror::Class* klass = CheckObjectAlloc<kAccessCheck>(type_idx, method, self, &slow_path); in AllocObjectFromCode() 180 if (UNLIKELY(slow_path)) { in AllocObjectFromCode() [all …]
|
D | entrypoint_utils.h | 49 Thread* self, bool* slow_path) 54 bool* slow_path) 87 bool* slow_path)
|