Commit Graph

7663 Commits

Author SHA1 Message Date
gingerBill
dc317c8cd8 Make BlockingMutex 2023-01-03 15:50:31 +00:00
gingerBill
774fea1e63 Use RwMutex for gen_procs 2023-01-03 15:47:25 +00:00
gingerBill
485c606672 Clarify RwLocks for add_dependenies_from_unpacking 2023-01-03 15:37:35 +00:00
gingerBill
3dee3205b2 Use RwMutex for DeclInfo `deps 2023-01-03 15:34:52 +00:00
gingerBill
c7a704d345 Use RwMutex for the Scope 2023-01-03 15:26:47 +00:00
gingerBill
0fb3032b73 General improves to alloc_ast_node and other unnecessary checks 2023-01-03 14:45:09 +00:00
gingerBill
69934c3b0b More for_array(i, y) to for (x : y) translations 2023-01-03 13:04:09 +00:00
gingerBill
7380b7e61b Add more uses of C++ style for loops over for_array macro 2023-01-03 12:37:41 +00:00
gingerBill
747a11a954 Allow all set entry types to be implicitly cast to their key/value type to allow for easier iteration 2023-01-03 12:18:35 +00:00
gingerBill
252be0fb41 Make all maps use heap allocator implicitly 2023-01-03 11:59:52 +00:00
gingerBill
600f2b7284 Use heap_allocator for all hash set types 2023-01-03 11:53:59 +00:00
gingerBill
670274ad8f More explicit uses of mutexes 2023-01-02 23:56:37 +00:00
gingerBill
e10fe91eba Narrow global gen_procs_mutex further 2023-01-02 23:50:48 +00:00
gingerBill
fd62ee14cd Code moving around 2023-01-02 23:31:38 +00:00
gingerBill
8ece92f1f6 Minimize the parapoly mutex usage a bit 2023-01-02 23:21:16 +00:00
gingerBill
69b075782b Use a package local mutex for add_type_and_value 2023-01-02 22:40:28 +00:00
gingerBill
6bd3a9d422 Be very explicit where the gen_procs_mutex can be unlock 2023-01-02 22:23:49 +00:00
gingerBill
bc9ee8e1a4 Remove loops within futex signals on Linux 2023-01-02 22:13:49 +00:00
gingerBill
d36c3c2590 Re enable type_and_value_mutex 2023-01-02 22:06:05 +00:00
gingerBill
52b319dbfd Fix darwin's futex implementation in the compiler 2023-01-02 21:53:41 +00:00
gingerBill
318d92f9a8 Comment out type_and_value_mutex usage 2023-01-02 21:37:21 +00:00
gingerBill
7ffffeeccc Comment out many mutex guards in type_(size|align)_of_internal 2023-01-02 21:35:40 +00:00
gingerBill
f16d8e77b3 Narrow fullpath_mutex usage 2023-01-02 20:55:49 +00:00
gingerBill
5b335bb88c Narrow g_type_mutex usage 2023-01-02 20:48:24 +00:00
gingerBill
df2767311f Use mutex_try_lock in check_proc_info 2023-01-02 20:42:22 +00:00
gingerBill
09c26e6be0 Narrow type info mutex usage 2023-01-02 20:38:37 +00:00
gingerBill
d2ec2d1606 Remove another use of a global mutex 2023-01-02 19:46:55 +00:00
gingerBill
0d87b2e8db Use local mutexes rather than a global one for the dependency insertion 2023-01-02 19:39:35 +00:00
gingerBill
1568971732 Fix pool running 2023-01-02 18:04:16 +00:00
gingerBill
0e040be941 Add define for darwin 2023-01-02 17:49:16 +00:00
gingerBill
9737b65d9c Explicitly call store for futex 2023-01-02 17:18:59 +00:00
gingerBill
ad52003077 Remove some unneeded checks 2023-01-02 17:15:29 +00:00
gingerBill
c386509112 Minor clean up of thread pool code 2023-01-02 17:06:29 +00:00
gingerBill
c293f5b7eb Remove unneeded mutex 2023-01-02 16:56:05 +00:00
gingerBill
fa562ec5d6 Remove unneeded local_entity_map 2023-01-02 15:40:25 +00:00
gingerBill
529383f5b1 Correct a race condition when checking the procedure body 2023-01-02 15:30:04 +00:00
gingerBill
f01cff7ff0 Multithread checker 2023-01-02 12:31:00 +00:00
gingerBill
015fe924b8 Remove use of queues for procedure checking. 2023-01-02 12:28:38 +00:00
gingerBill
a5ce8a8c0b Multi thread check_export_entities 2023-01-02 01:31:14 +00:00
gingerBill
bfdcf900ef Remove global_ prefix from global_thread_pool_* procedures 2023-01-02 00:56:06 +00:00
gingerBill
54f89dd84b Multithread check_collect_entities_all using new thread pool 2023-01-02 00:53:11 +00:00
gingerBill
da479c7628 Minor style change 2023-01-02 00:35:12 +00:00
gingerBill
3c90a05957 Replace condition+mutex with futex 2023-01-02 00:26:17 +00:00
gingerBill
d16ddf7926 Use C++ style for loop over for_array macro in parser.cpp where posible 2023-01-01 16:32:51 +00:00
gingerBill
5c519f0e8d Remove the synchronization primitive init/destroy calls 2023-01-01 16:19:21 +00:00
gingerBill
74e6d9144e Get around the std::atomic issue 2023-01-01 16:15:35 +00:00
gingerBill
20d451396d Begin work on futex-ifying the threading primitives 2023-01-01 15:06:57 +00:00
gingerBill
60d0390ef8 Unify compiler Futex interface 2023-01-01 14:48:31 +00:00
gingerBill
c08ff891ad Merge pull request #2287 from odin-lang/compiler-improvements-2022-12
Compiler improvements 2022 12
2023-01-01 13:29:20 +00:00
gingerBill
168cec1e9d Merge pull request #2283 from colrdavidson/threadpool-swap
move to work-stealing threadpool
2023-01-01 13:28:36 +00:00