Lines Matching refs:context
63 FiberContext& context = standartFiberContexts[i]; in TaskScheduler() local
64 context.fiber.Create(MT_STANDART_FIBER_STACK_SIZE, FiberMain, &context); in TaskScheduler()
65 context.fiberIndex = fiberIndex; in TaskScheduler()
66 bool res = standartFibersAvailable.TryPush( &context ); in TaskScheduler()
75 FiberContext& context = extendedFiberContexts[i]; in TaskScheduler() local
76 context.fiber.Create(MT_EXTENDED_FIBER_STACK_SIZE, FiberMain, &context); in TaskScheduler()
77 context.fiberIndex = fiberIndex; in TaskScheduler()
78 bool res = extendedFibersAvailable.TryPush( &context ); in TaskScheduler()
369 internal::ThreadContext& context = *(internal::ThreadContext*)(userData); in WorkerThreadMain() local
370 MT_ASSERT(context.taskScheduler, "Task scheduler must be not null!"); in WorkerThreadMain()
372 context.threadId = ThreadId::Self(); in WorkerThreadMain()
376 if (context.workerIndex < MT_ARRAY_SIZE(threadNames)) in WorkerThreadMain()
378 Thread::SetThreadName(threadNames[context.workerIndex]); in WorkerThreadMain()
385 context.schedulerFiber.CreateFromCurrentThreadAndRun(SchedulerFiberMain, userData); in WorkerThreadMain()
392 internal::ThreadContext& context = *waitContext.threadContext; in SchedulerFiberWait() local
393 MT_ASSERT(context.taskScheduler, "Task scheduler must be not null!"); in SchedulerFiberWait()
397 context.NotifyTemporaryWorkerThreadJoin(); in SchedulerFiberWait()
399 context.NotifyWaitStarted(); in SchedulerFiberWait()
400 …context.NotifyTaskExecuteStateChanged( MT_SYSTEM_TASK_COLOR, MT_SYSTEM_TASK_NAME, TaskExecuteState… in SchedulerFiberWait()
403 bool isTaskStealingDisabled = context.taskScheduler->IsTaskStealingDisabled(0); in SchedulerFiberWait()
411 if ( SchedulerFiberStep(context, isTaskStealingDisabled) == false ) in SchedulerFiberWait()
435 …context.NotifyTaskExecuteStateChanged( MT_SYSTEM_TASK_COLOR, MT_SYSTEM_TASK_NAME, TaskExecuteState… in SchedulerFiberWait()
436 context.NotifyWaitFinished(); in SchedulerFiberWait()
438 context.NotifyTemporaryWorkerThreadLeave(); in SchedulerFiberWait()
444 internal::ThreadContext& context = *(internal::ThreadContext*)(userData); in SchedulerFiberMain() local
445 MT_ASSERT(context.taskScheduler, "Task scheduler must be not null!"); in SchedulerFiberMain()
448 context.NotifyThreadCreated(context.workerIndex); in SchedulerFiberMain()
451 int32 totalThreadsCount = context.taskScheduler->threadsCount.LoadRelaxed(); in SchedulerFiberMain()
452 context.taskScheduler->startedThreadsCount.IncFetch(); in SchedulerFiberMain()
457 int32 initializedThreadsCount = context.taskScheduler->startedThreadsCount.Load(); in SchedulerFiberMain()
470 context.NotifyThreadStarted(context.workerIndex); in SchedulerFiberMain()
471 …context.NotifyTaskExecuteStateChanged( MT_SYSTEM_TASK_COLOR, MT_SYSTEM_TASK_NAME, TaskExecuteState… in SchedulerFiberMain()
473 bool isTaskStealingDisabled = context.taskScheduler->IsTaskStealingDisabled(); in SchedulerFiberMain()
475 while(context.state.Load() != internal::ThreadState::EXIT) in SchedulerFiberMain()
477 if ( SchedulerFiberStep(context, isTaskStealingDisabled) == false) in SchedulerFiberMain()
480 context.NotifyThreadIdleStarted(context.workerIndex); in SchedulerFiberMain()
495 context.hasNewTasksEvent.Wait(20000); in SchedulerFiberMain()
500 context.NotifyThreadIdleFinished(context.workerIndex); in SchedulerFiberMain()
507 if ( context.queue.TryPopOldest(task) ) in SchedulerFiberMain()
510 context.NotifyThreadIdleFinished(context.workerIndex); in SchedulerFiberMain()
513 SchedulerFiberProcessTask(context, task); in SchedulerFiberMain()
522 context.hasNewTasksEvent.Wait(20000); in SchedulerFiberMain()
525 context.NotifyThreadIdleFinished(context.workerIndex); in SchedulerFiberMain()
535 …context.NotifyTaskExecuteStateChanged( MT_SYSTEM_TASK_COLOR, MT_SYSTEM_TASK_NAME, TaskExecuteState… in SchedulerFiberMain()
536 context.NotifyThreadStoped(context.workerIndex); in SchedulerFiberMain()
541 …void TaskScheduler::SchedulerFiberProcessTask( internal::ThreadContext& context, internal::Grouped… in SchedulerFiberProcessTask() argument
548 FiberContext* fiberContext = context.taskScheduler->RequestFiberContext(task); in SchedulerFiberProcessTask()
565 FiberContext* parentFiber = ExecuteTask(context, fiberContext); in SchedulerFiberProcessTask()
576 context.taskScheduler->ReleaseFiberContext(std::move(fiberContext)); in SchedulerFiberProcessTask()
598 ArrayView<internal::GroupedTask> buffer(context.descBuffer, 1); in SchedulerFiberProcessTask()
606 context.taskScheduler->RunTasksImpl(buckets, nullptr, true); in SchedulerFiberProcessTask()
616 bool TaskScheduler::SchedulerFiberStep( internal::ThreadContext& context, bool disableTaskStealing) in SchedulerFiberStep() argument
619 …if ( context.queue.TryPopOldest(task) || (disableTaskStealing == false && TryStealTask(context, ta… in SchedulerFiberStep()
621 SchedulerFiberProcessTask(context, task); in SchedulerFiberStep()
637 internal::ThreadContext & context = threadContext[bucketIndex]; in RunTasksImpl() local
638 context.hasNewTasksEvent.Signal(); in RunTasksImpl()
699 internal::ThreadContext & context = threadContext[bucketIndex]; in RunTasksImpl() local
707 bool res = context.queue.Add(bucket.tasks, bucket.count); in RunTasksImpl()
718 context.hasNewTasksEvent.Signal(); in RunTasksImpl()
751 internal::ThreadContext context(descBuffer); in WaitGroup() local
752 context.taskScheduler = this; in WaitGroup()
753 context.SetThreadIndex(0xFFFFFFFF); in WaitGroup()
754 context.threadId = ThreadId::Self(); in WaitGroup()
757 waitContext.threadContext = &context; in WaitGroup()
764 context.schedulerFiber.CreateFromCurrentThreadAndRun(SchedulerFiberWait, &waitContext); in WaitGroup()
786 internal::ThreadContext context(descBuffer); in WaitAll() local
787 context.taskScheduler = this; in WaitAll()
788 context.SetThreadIndex(0xFFFFFFFF); in WaitAll()
789 context.threadId = ThreadId::Self(); in WaitAll()
792 waitContext.threadContext = &context; in WaitAll()
800 context.schedulerFiber.CreateFromCurrentThreadAndRun(SchedulerFiberWait, &waitContext); in WaitAll()