31 std::vector<std::unique_ptr<CompileState>> srcs_;
33 std::atomic_int outstanding_compiles_ = 0;
36 std::vector<std::thread> workers_;
39 std::queue<CompileState*> codegen_queue_;
42 std::vector<CompileState*> compile_ready_;
45 std::map<int, int> pending_codegen_by_order_;
46 std::mutex queue_mutex_;
47 std::condition_variable cv_;
48 std::condition_variable done_cv_;
54 bool has_pending_codegen_below(
int order)
const;
55 bool has_ready_compile()
const;