Lines Matching defs:worker

2568       isolate->ThrowError("Can't get worker script");
2572 // The C++ worker object's lifetime is shared between the Managed<Worker>
2574 // internal std::shared_ptr in the worker thread itself.
2575 auto worker = std::make_shared<Worker>(*script);
2579 i_isolate, kWorkerSizeEstimate, worker);
2581 if (!Worker::StartWorkerThread(std::move(worker))) {
2597 std::shared_ptr<Worker> worker =
2599 if (!worker.get()) {
2609 worker->PostMessage(std::move(data));
2616 std::shared_ptr<Worker> worker =
2618 if (!worker.get()) {
2622 std::unique_ptr<SerializationData> data = worker->GetMessage();
2634 std::shared_ptr<Worker> worker =
2636 if (!worker.get()) return;
2637 worker->Terminate();
2644 std::shared_ptr<Worker> worker =
2646 if (!worker.get()) {
2650 worker->TerminateAndWaitForThread();
4124 bool Worker::StartWorkerThread(std::shared_ptr<Worker> worker) {
4127 worker->state_.compare_exchange_strong(expected, State::kPrepareRunning));
4128 auto thread = new WorkerThread(worker);
4129 worker->thread_ = thread;
4131 // Wait until the worker is ready to receive messages.
4132 worker->started_semaphore_.Wait();
4133 Shell::AddRunningWorker(std::move(worker));
4140 // worker alive via a stack root until the thread finishes execution
4143 auto worker = std::move(worker_);
4145 worker->ExecuteInThread();
4146 Shell::RemoveRunningWorker(worker);
4152 std::shared_ptr<Worker> worker,
4155 worker_(worker),
4176 std::shared_ptr<Worker> worker)
4177 : i::CancelableTask(task_manager), worker_(worker) {}
4192 // If the worker is no longer running, and there are no messages in the
4218 // Also schedule an interrupt in case the worker is running code and never
4370 Worker* worker = static_cast<Worker*>(this_value->Value());
4371 worker->out_queue_.Enqueue(std::move(data));
4372 worker->out_semaphore_.Signal();
5238 void Shell::AddRunningWorker(std::shared_ptr<Worker> worker) {
5240 running_workers_.insert(worker);
5243 void Shell::RemoveRunningWorker(const std::shared_ptr<Worker>& worker) {
5245 auto it = running_workers_.find(worker);
5252 // worker is about to create a new Worker, it would deadlock.
5260 for (auto& worker : workers_copy) {
5261 worker->TerminateAndWaitForThread();