Home
last modified time | relevance | path

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

/art/compiler/optimizing/
Dcode_generator.cc191 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 …]
Dintrinsics_arm64.cc1158 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 …]
Dgraph_visualizer.h44 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()
Dintrinsics_arm.cc971 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 …]
Dintrinsics_x86_64.cc922 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 …]
Dcode_generator.h276 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 …]
Dintrinsics_x86.cc1060 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 …]
Dcode_generator_arm64.cc1457 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 …]
Dintrinsics_mips64.cc1317 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 …]
Dcode_generator_x86_64.cc972 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 …]
Dcode_generator_arm.cc1192 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 …]
Dcode_generator_x86.cc764 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 …]
Dintrinsics_mips.cc1906 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 …]
Dcode_generator_mips64.cc960 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 …]
Dcode_generator_mips.cc1067 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 …]
Dcode_generator_mips64.h221 void GenerateClassInitializationCheck(SlowPathCodeMIPS64* slow_path, GpuRegister class_reg);
327 SlowPathCode* slow_path) OVERRIDE;
332 SlowPathCode* slow_path);
Dcode_generator_mips.h221 void GenerateClassInitializationCheck(SlowPathCodeMIPS* slow_path, Register class_reg);
332 SlowPathCode* slow_path) OVERRIDE;
337 SlowPathCode* slow_path,
Dcode_generator_x86_64.h211 void GenerateClassInitializationCheck(SlowPathCode* slow_path, CpuRegister class_reg);
314 SlowPathCode* slow_path) OVERRIDE;
319 SlowPathCode* slow_path);
Dcode_generator_x86.h210 void GenerateClassInitializationCheck(SlowPathCode* slow_path, Register class_reg);
332 SlowPathCode* slow_path) OVERRIDE;
337 SlowPathCode* slow_path);
Dcode_generator_arm.h217 void GenerateClassInitializationCheck(SlowPathCode* slow_path, Register class_reg);
371 SlowPathCode* slow_path) OVERRIDE;
376 SlowPathCode* slow_path);
Dcode_generator_arm64.h213 void GenerateClassInitializationCheck(SlowPathCodeARM64* slow_path, vixl::Register class_reg);
445 SlowPathCode* slow_path) OVERRIDE;
450 SlowPathCode* slow_path);
Dgraph_visualizer.cc677 output_ << " 0 0 disasm " << info.slow_path->GetDescription() << "\n"; in DumpDisassemblyBlockForSlowPaths()
Dnodes.h5302 void SetSlowPath(SlowPathCode* slow_path) { slow_path_ = slow_path; } in SetSlowPath() argument
/art/runtime/entrypoints/
Dentrypoint_utils-inl.h93 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 …]
Dentrypoint_utils.h49 Thread* self, bool* slow_path)
54 bool* slow_path)
87 bool* slow_path)