| 153 | namespace { |
| 154 | |
| 155 | class SingleThreadScheduleCtx : public vm::ScheduleCtx { |
| 156 | public: |
| 157 | SingleThreadScheduleCtx() = default; |
| 158 | ~SingleThreadScheduleCtx() = default; |
| 159 | |
| 160 | void OnWorkerLoadPending(vm::ThreadCtx* thread_ctx) const override { |
| 161 | while (thread_ctx->TryReceiveAndRun() > 0) {} |
| 162 | } |
| 163 | }; |
| 164 | |
| 165 | void ScheduleUntilVMEmpty(vm::VirtualMachineEngine* vm, const vm::ScheduleCtx& schedule_ctx) { |
| 166 | do { vm->Schedule(schedule_ctx); } while (!(vm->SchedulerEmpty())); |
no outgoing calls
no test coverage detected