Refactor JobExecutionContext, add scheduler state support

- Refactored JobExecutionContext to use init-only properties and added State and SelfHandle for richer context.
- Updated JobInfo field layout for clarity and memory alignment.
- JobScheduler now accepts and exposes an optional state object, passed to each job context.
- Improved memory management by using _freeList for allocations and disposal.
- WorkerThread and benchmarks updated to use new JobExecutionContext pattern.
- Bumped version to 1.6.1 and performed minor code cleanup.
This commit is contained in:
2026-04-17 19:49:42 +09:00
parent ebee3bb7fb
commit d5616daa05
8 changed files with 164 additions and 32 deletions

View File

@@ -4,17 +4,21 @@ public readonly ref struct JobExecutionContext
{
public int ThreadIndex
{
get;
get; init;
}
public IJobScheduler JobScheduler
{
get;
get; init;
}
public JobExecutionContext(int threadIndex, IJobScheduler jobScheduler)
public object? State
{
ThreadIndex = threadIndex;
JobScheduler = jobScheduler;
get; init;
}
public JobHandle SelfHandle
{
get; init;
}
}