Improve "complete" codegen for interleaved state machines
This commit is contained in:
@@ -3284,13 +3284,14 @@ PRESERVE_NONE void complete(Job *job, Context *context) {
|
||||
}
|
||||
job->prev->next = job->next;
|
||||
job->next->prev = job->prev;
|
||||
job = job->prev;
|
||||
job = job->next;
|
||||
MUSTTAIL return job->continuation(job, context);
|
||||
} else {
|
||||
int temp = context->started++;
|
||||
job->init(context->queries + temp, context->results + temp, context->root,
|
||||
context->oldestVersionFullPrecision);
|
||||
MUSTTAIL return job->continuation(job, context);
|
||||
}
|
||||
MUSTTAIL return keepGoing(job, context);
|
||||
}
|
||||
|
||||
template <class NodeT>
|
||||
@@ -4112,12 +4113,13 @@ PRESERVE_NONE void complete(Job *job, Context *context) {
|
||||
}
|
||||
job->prev->next = job->next;
|
||||
job->next->prev = job->prev;
|
||||
job = job->prev;
|
||||
job = job->next;
|
||||
MUSTTAIL return job->continuation(job, context);
|
||||
} else {
|
||||
int temp = context->started++;
|
||||
job->init(context, temp);
|
||||
MUSTTAIL return job->continuation(job, context);
|
||||
}
|
||||
MUSTTAIL return keepGoing(job, context);
|
||||
}
|
||||
|
||||
template <class NodeT> PRESERVE_NONE void iter(Job *, Context *);
|
||||
|
Reference in New Issue
Block a user