Commit Graph

32 Commits

Author SHA1 Message Date
gingerBill
60d0390ef8 Unify compiler Futex interface 2023-01-01 14:48:31 +00:00
Colin Davidson
5f27f2dd7f move to work-stealing threadpool 2022-12-28 21:44:17 -08:00
gingerBill
eb0775ad53 Move mutex use around in thread pool 2022-12-20 14:45:01 +00:00
gingerBill
134c7db4d2 Combine join and destroy for threads 2022-12-20 14:08:24 +00:00
gingerBill
a0e3a99dd1 Remove need for semaphore in Thread 2022-12-20 14:07:14 +00:00
gingerBill
0edda2bea7 Clarify ThreadPool interface; Move import_mutex guarding to just the string set 2022-12-20 12:46:33 +00:00
gingerBill
ac5f5a33e9 gb_internal a lot 2022-12-18 21:17:07 +00:00
gingerBill
e814a3693f Improve usage of file_id 2021-11-15 17:26:01 +00:00
gingerBill
f973d271cf Add mutex around condition_broadcast 2021-08-26 22:28:09 +01:00
gingerBill
b33bf3f704 Correct race condition and incorrect usage of condition_signal outside of a mutex lock 2021-08-26 22:17:51 +01:00
gingerBill
ac191bd31f Simplify logic for -thread-count:1 2021-08-26 21:30:23 +01:00
gingerBill
ad3a3547d6 Unify thread pool logic across the rest of the compiler, using a global thread pool 2021-08-26 21:22:30 +01:00
gingerBill
25c3fd48f0 Improved ThreadPool implementation 2021-08-26 17:56:28 +01:00
gingerBill
e45aa68c14 Remove unneeded +1 for outstanding_task_count 2021-08-26 16:10:32 +01:00
nakst
9397555c91 Thread pool: create threads in thread_pool_wait 2021-08-23 10:11:24 +01:00
nakst
35204e3cc5 thread_pool.cpp: fix with 1 thread; gb.h: remove buggy /proc/cpuinfo code 2021-08-23 09:18:18 +01:00
gingerBill
daced956e3 Make ThreadPool use std::atomic and heap_allocator() 2021-08-22 23:01:01 +01:00
nakst
b878be6f79 Thread pool fix on Win32 2021-08-22 21:24:56 +01:00
nakst
1f25f60a68 Rewrite thread_pool.cpp 2021-08-22 21:13:41 +01:00
gingerBill
ac6cc5191a Make ThreadPool.is_running atomic 2021-08-19 17:43:15 +01:00
gingerBill
df372dbd5b Migrate and remove more from gb.h 2021-08-19 15:38:21 +01:00
gingerBill
5c4d95d539 Move more of gb.h's Synchronization code into common.cpp 2021-08-19 15:19:36 +01:00
gingerBill
3fde4616e0 Correct mutex usage for path_to_fullpath; make ThreadPool use BlockingMutex 2021-08-18 21:21:30 +01:00
gingerBill
8a6b743d2a Simplify thread_pool_wait_to_process 2021-07-10 21:50:19 +01:00
gingerBill
ed8a6f872d Move things around for sanity checking for multithread preparation 2021-07-10 21:29:49 +01:00
gingerBill
17001bf38c Nearly approach full functionality for -use-separate-modules coupled with multithreading 2021-05-04 00:45:09 +01:00
gingerBill
772c8779fa Clean up thread pool code 2019-09-03 22:11:21 +01:00
gingerBill
c92b2e9612 Fix semaphore posting 2019-09-03 21:17:46 +01:00
gingerBill
1348d8a8cd Improve thread pool (volatile hints, etc) 2019-09-02 18:49:23 +01:00
gingerBill
6d614ef07c Remove thread naming on thread pool 2019-09-01 23:16:01 +01:00
gingerBill
723f351a6d Remove custom allocator for thread pool 2019-09-01 23:13:29 +01:00
gingerBill
c93872cc13 Thread pool fixes 2019-09-01 22:57:53 +01:00