Home
last modified time | relevance | path

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

/art/compiler/optimizing/
Dcode_generator.cc154 void AddSlowPath(SlowPathCode* slow_path) { in AddSlowPath() argument
155 slow_paths_.emplace_back(std::unique_ptr<SlowPathCode>(slow_path)); in AddSlowPath()
357 SlowPathCode* slow_path = slow_path_ptr.get(); in GenerateSlowPaths() local
358 current_slow_path_ = slow_path; in GenerateSlowPaths()
363 MaybeRecordNativeDebugInfo(slow_path->GetInstruction(), slow_path->GetDexPc(), slow_path); in GenerateSlowPaths()
364 slow_path->EmitNativeCode(this); in GenerateSlowPaths()
366 disasm_info_->AddSlowPathInterval(slow_path, code_start, GetAssembler()->CodeSize()); in GenerateSlowPaths()
575 HInvokeStaticOrDirect* invoke, Location temp, SlowPathCode* slow_path) { in GenerateInvokeStaticOrDirectRuntimeCall() argument
602 InvokeRuntime(entrypoint, invoke, invoke->GetDexPc(), slow_path); in GenerateInvokeStaticOrDirectRuntimeCall()
1163 SlowPathCode* slow_path, in RecordPcInfo() argument
[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()
Dcode_generator.h343 SlowPathCode* slow_path = nullptr,
353 SlowPathCode* slow_path = nullptr,
365 SlowPathCode* slow_path = nullptr);
383 void AddSlowPath(SlowPathCode* slow_path);
499 SlowPathCode* slow_path);
503 SlowPathCode* slow_path);
596 HInvokeStaticOrDirect* invoke, Location temp, SlowPathCode* slow_path);
645 SlowPathCode* slow_path = nullptr) = 0;
685 HInvokeStaticOrDirect* invoke, Location temp, SlowPathCode* slow_path = nullptr) = 0;
688 HInvokeVirtual* invoke, Location temp, SlowPathCode* slow_path = nullptr) = 0;
[all …]
Dintrinsics_x86_64.cc610 SlowPathCode* slow_path, in CheckPosition() argument
627 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
633 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
641 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
647 __ j(kNotEqual, slow_path->GetEntryLabel()); in CheckPosition()
652 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
656 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
666 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
688 SlowPathCode* slow_path = new (codegen_->GetScopedAllocator()) IntrinsicSlowPathX86_64(invoke); in VisitSystemArrayCopyChar() local
689 codegen_->AddSlowPath(slow_path); in VisitSystemArrayCopyChar()
[all …]
Dintrinsics_arm64.cc1033 BakerReadBarrierCasSlowPathARM64* slow_path = in GenCas() local
1035 codegen->AddSlowPath(slow_path); in GenCas()
1036 exit_loop = slow_path->GetExitLabel(); in GenCas()
1037 failure = slow_path->GetEntryLabel(); in GenCas()
1152 SlowPathCodeARM64* slow_path = nullptr; in VisitStringCompareTo() local
1155 slow_path = new (codegen_->GetScopedAllocator()) IntrinsicSlowPathARM64(invoke); in VisitStringCompareTo()
1156 codegen_->AddSlowPath(slow_path); in VisitStringCompareTo()
1157 __ Cbz(arg, slow_path->GetEntryLabel()); in VisitStringCompareTo()
1314 __ Bind(slow_path->GetExitLabel()); in VisitStringCompareTo()
1534 SlowPathCodeARM64* slow_path = nullptr; in GenerateVisitStringIndexOf() local
[all …]
Dintrinsics_x86.cc815 SlowPathCode* slow_path, in CheckPosition() argument
832 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
838 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
846 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
852 __ j(kNotEqual, slow_path->GetEntryLabel()); in CheckPosition()
857 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
861 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
871 __ j(kLess, slow_path->GetEntryLabel()); in CheckPosition()
893 SlowPathCode* slow_path = new (codegen_->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in VisitSystemArrayCopyChar() local
894 codegen_->AddSlowPath(slow_path); in VisitSystemArrayCopyChar()
[all …]
Dcode_generator_x86_64.cc999 HInvokeStaticOrDirect* invoke, Location temp, SlowPathCode* slow_path) { in GenerateStaticOrDirectCall() argument
1038 GenerateInvokeStaticOrDirectRuntimeCall(invoke, temp, slow_path); in GenerateStaticOrDirectCall()
1046 RecordPcInfo(invoke, invoke->GetDexPc(), slow_path); in GenerateStaticOrDirectCall()
1056 RecordPcInfo(invoke, invoke->GetDexPc(), slow_path); in GenerateStaticOrDirectCall()
1091 RecordPcInfo(invoke, invoke->GetDexPc(), slow_path); in GenerateStaticOrDirectCall()
1099 HInvokeVirtual* invoke, Location temp_in, SlowPathCode* slow_path) { in GenerateVirtualCall() argument
1131 RecordPcInfo(invoke, invoke->GetDexPc(), slow_path); in GenerateVirtualCall()
1324 SlowPathCode* slow_path) { in InvokeRuntime() argument
1325 ValidateInvokeRuntime(entrypoint, instruction, slow_path); in InvokeRuntime()
1328 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime()
[all …]
Dcode_generator_arm64.cc1822 SlowPathCode* slow_path) { in InvokeRuntime() argument
1823 ValidateInvokeRuntime(entrypoint, instruction, slow_path); in InvokeRuntime()
1829 if (slow_path == nullptr || GetCompilerOptions().IsJitCompiler()) { in InvokeRuntime()
1835 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime()
1842 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime()
1849 SlowPathCode* slow_path) { in InvokeRuntimeWithoutRecordingPcInfo() argument
1850 ValidateInvokeRuntimeWithoutRecordingPcInfo(instruction, slow_path); in InvokeRuntimeWithoutRecordingPcInfo()
1855 void InstructionCodeGeneratorARM64::GenerateClassInitializationCheck(SlowPathCodeARM64* slow_path, in GenerateClassInitializationCheck() argument
1872 __ B(lo, slow_path->GetEntryLabel()); in GenerateClassInitializationCheck()
1873 __ Bind(slow_path->GetExitLabel()); in GenerateClassInitializationCheck()
[all …]
Dcode_generator_x86.cc1008 SlowPathCode* slow_path) { in InvokeRuntime() argument
1009 ValidateInvokeRuntime(entrypoint, instruction, slow_path); in InvokeRuntime()
1012 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime()
1018 SlowPathCode* slow_path) { in InvokeRuntimeWithoutRecordingPcInfo() argument
1019 ValidateInvokeRuntimeWithoutRecordingPcInfo(instruction, slow_path); in InvokeRuntimeWithoutRecordingPcInfo()
1829 SlowPathCode* slow_path = deopt_slow_paths_.NewSlowPath<DeoptimizationSlowPathX86>(deoptimize); in VisitDeoptimize() local
1832 slow_path->GetEntryLabel(), in VisitDeoptimize()
3816 SlowPathCode* slow_path = new (codegen_->GetScopedAllocator()) DivRemMinusOneSlowPathX86( in GenerateDivRemIntegral() local
3818 codegen_->AddSlowPath(slow_path); in GenerateDivRemIntegral()
3826 __ j(kEqual, slow_path->GetEntryLabel()); in GenerateDivRemIntegral()
[all …]
Dintrinsics_arm_vixl.cc1017 BakerReadBarrierCasSlowPathARMVIXL* slow_path = in GenCas() local
1019 codegen->AddSlowPath(slow_path); in GenCas()
1020 failure = slow_path->GetEntryLabel(); in GenCas()
1021 loop_exit = slow_path->GetExitLabel(); in GenCas()
1150 SlowPathCodeARMVIXL* slow_path = nullptr; in VisitStringCompareTo() local
1153 slow_path = new (codegen_->GetScopedAllocator()) IntrinsicSlowPathARMVIXL(invoke); in VisitStringCompareTo()
1154 codegen_->AddSlowPath(slow_path); in VisitStringCompareTo()
1155 __ CompareAndBranchIfZero(arg, slow_path->GetEntryLabel()); in VisitStringCompareTo()
1215 __ Bind(slow_path->GetExitLabel()); in VisitStringCompareTo()
1621 SlowPathCodeARMVIXL* slow_path = nullptr; in GenerateVisitStringIndexOf() local
[all …]
Dcode_generator_arm_vixl.cc2561 SlowPathCode* slow_path) { in InvokeRuntime() argument
2562 ValidateInvokeRuntime(entrypoint, instruction, slow_path); in InvokeRuntime()
2568 if (slow_path == nullptr || GetCompilerOptions().IsJitCompiler()) { in InvokeRuntime()
2577 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime()
2586 RecordPcInfo(instruction, dex_pc, slow_path); in InvokeRuntime()
2593 SlowPathCode* slow_path) { in InvokeRuntimeWithoutRecordingPcInfo() argument
2594 ValidateInvokeRuntimeWithoutRecordingPcInfo(instruction, slow_path); in InvokeRuntimeWithoutRecordingPcInfo()
2811 SlowPathCodeARMVIXL* slow_path = in VisitDeoptimize() local
2815 slow_path->GetEntryLabel(), in VisitDeoptimize()
4959 DivZeroCheckSlowPathARMVIXL* slow_path = in VisitDivZeroCheck() local
[all …]
Dcode_generator_x86.h240 void GenerateClassInitializationCheck(SlowPathCode* slow_path, Register class_reg);
369 SlowPathCode* slow_path = nullptr) override;
375 SlowPathCode* slow_path);
455 HInvokeStaticOrDirect* invoke, Location temp, SlowPathCode* slow_path = nullptr) override;
458 HInvokeVirtual* invoke, Location temp, SlowPathCode* slow_path = nullptr) override;
Dcode_generator_x86_64.h239 void GenerateClassInitializationCheck(SlowPathCode* slow_path, CpuRegister class_reg);
352 SlowPathCode* slow_path = nullptr) override;
358 SlowPathCode* slow_path);
456 HInvokeStaticOrDirect* invoke, Location temp, SlowPathCode* slow_path = nullptr) override;
458 HInvokeVirtual* invoke, Location temp, SlowPathCode* slow_path = nullptr) override;
Dcode_generator_arm_vixl.h350 void GenerateClassInitializationCheck(LoadClassSlowPathARMVIXL* slow_path,
529 SlowPathCode* slow_path = nullptr) override;
535 SlowPathCode* slow_path);
584 HInvokeStaticOrDirect* invoke, Location temp, SlowPathCode* slow_path = nullptr) override;
586 HInvokeVirtual* invoke, Location temp, SlowPathCode* slow_path = nullptr) override;
Dcode_generator_arm64.h316 void GenerateClassInitializationCheck(SlowPathCodeARM64* slow_path,
661 SlowPathCode* slow_path = nullptr) override;
667 SlowPathCode* slow_path);
692 HInvokeStaticOrDirect* invoke, Location temp, SlowPathCode* slow_path = nullptr) override;
694 HInvokeVirtual* invoke, Location temp, SlowPathCode* slow_path = nullptr) override;
Dgraph_visualizer.cc801 output_ << " 0 0 disasm " << info.slow_path->GetDescription() << "\n"; in DumpDisassemblyBlockForSlowPaths()
Dnodes.h6314 void SetSlowPath(SlowPathCode* slow_path) { slow_path_ = slow_path; } in SetSlowPath() argument
/art/runtime/entrypoints/
Dentrypoint_utils-inl.h121 bool* slow_path) in CheckClassInitializedForObjectAlloc() argument
135 *slow_path = true; in CheckClassInitializedForObjectAlloc()
149 bool* slow_path) in CheckObjectAlloc() argument
154 *slow_path = true; in CheckObjectAlloc()
160 *slow_path = true; in CheckObjectAlloc()
163 return CheckClassInitializedForObjectAlloc(klass, self, slow_path); in CheckObjectAlloc()
173 bool slow_path = false; in AllocObjectFromCode() local
174 klass = CheckObjectAlloc(klass, self, &slow_path); in AllocObjectFromCode()
175 if (UNLIKELY(slow_path)) { in AllocObjectFromCode()
195 bool slow_path = false; in AllocObjectFromCodeResolved() local
[all …]
Dentrypoint_utils.h84 bool* slow_path)
/art/runtime/gc/collector/
Dsemi_space-inl.h63 auto slow_path = [this](const mirror::Object* ref) { in MarkObject()
68 if (!mark_bitmap_->Set(obj, slow_path)) { in MarkObject()
/art/runtime/arch/arm/
Dquick_entrypoints_arm.S1315 .macro COMPUTE_ARRAY_SIZE_UNKNOWN slow_path argument
1322 bhi \slow_path
1344 .macro COMPUTE_ARRAY_SIZE_8 slow_path argument
1349 bhi \slow_path
1354 .macro COMPUTE_ARRAY_SIZE_16 slow_path argument
1359 bhi \slow_path
1365 .macro COMPUTE_ARRAY_SIZE_32 slow_path argument
1370 bhi \slow_path
1376 .macro COMPUTE_ARRAY_SIZE_64 slow_path argument
1381 bhi \slow_path
/art/runtime/arch/x86/
Dquick_entrypoints_x86.S1096 MACRO1(COMPUTE_ARRAY_SIZE_UNKNOWN, slow_path)
1102 ja RAW_VAR(slow_path)
1122 MACRO1(COMPUTE_ARRAY_SIZE_8, slow_path)
1127 ja RAW_VAR(slow_path)
1132 MACRO1(COMPUTE_ARRAY_SIZE_16, slow_path)
1137 ja RAW_VAR(slow_path)
1143 MACRO1(COMPUTE_ARRAY_SIZE_32, slow_path)
1148 ja RAW_VAR(slow_path)
1154 MACRO1(COMPUTE_ARRAY_SIZE_64, slow_path)
1159 ja RAW_VAR(slow_path)
/art/runtime/interpreter/mterp/x86_64ng/
Dmain.S1195 .macro FETCH_FROM_THREAD_CACHE dest_reg, slow_path argument
1201 jne \slow_path
/art/runtime/interpreter/mterp/arm64ng/
Dmain.S1141 .macro FETCH_FROM_THREAD_CACHE dest_reg, slow_path argument
1147 b.ne \slow_path