private function runCollectable($idx, Collectable $collectable) { $collectable->worker = $this; $collectable->state |= THREAD::RUNNING; $collectable->run(); $collectable->state &= ~THREAD::RUNNING; $this->gc[] = $collectable; unset($this->stack[$idx]); }