Commit Graph

3610 Commits

Author SHA1 Message Date
gingerBill
38136e15fc add_deps_from_child_to_parent always 2023-01-12 15:44:55 +00:00
gingerBill
e97bf2ef35 Minimize contention on the deps for decls 2023-01-12 15:38:23 +00:00
gingerBill
d6c54148d9 Minor clean up 2023-01-12 15:23:59 +00:00
gingerBill
cbe3791b42 Replace all queues with MPSCQueue where possible 2023-01-12 13:11:17 +00:00
gingerBill
b470ceb470 Correct mpsc_dequeue 2023-01-12 12:59:09 +00:00
gingerBill
c15db05199 Implement MPSCQueue 2023-01-12 12:41:53 +00:00
gingerBill
9428f792ed Comment out allocator guards for the time being 2023-01-12 01:09:36 +00:00
gingerBill
520ff731de Add ArenaTemp to the compiler 2023-01-12 00:47:20 +00:00
gingerBill
e9cfe698ba Make the heap_allocator just be the permanent_allocator
This improves the speed of the compiler with very little memory increase (which surprised me, Ginger Bill)
2023-01-12 00:20:25 +00:00
gingerBill
5fa66ac6a8 Fix random race condition for poly records 2023-01-12 00:18:58 +00:00
gingerBill
7f2ef2ac67 Move check for type info above 2023-01-11 21:52:04 +00:00
gingerBill
7124d541a1 General optimizations 2023-01-11 18:10:27 +00:00
gingerBill
3c7e45a46f Remove possible race condition in type_size_of/type_align_of 2023-01-11 17:45:18 +00:00
gingerBill
6ec014e980 Make -threaded-checker the default not (opt out with -no-threaded-checker) 2023-01-11 17:27:06 +00:00
gingerBill
9b47a5eddb Fix macro issue 2023-01-11 00:49:04 +00:00
gingerBill
15469758de Merge branch 'master' into compiler-improvements-2023-01 2023-01-10 16:25:38 +00:00
gingerBill
8ef406324b Multi thread more of the backend where possible 2023-01-05 17:26:51 +00:00
gingerBill
23d0c52bf4 Refactor llvm backend code into separate procedures to make it simpler to profile 2023-01-05 16:42:02 +00:00
gingerBill
5eee8077dd enum-ifiy function pass managers for lbModule 2023-01-05 15:56:45 +00:00
gingerBill
029cb6581b Unify function pass managers for auxiliary procedures (e.g. startup type info, runtime, objc names) 2023-01-05 12:54:53 +00:00
gingerBill
025e87d974 Multithread LLVM procedure generation 2023-01-05 12:39:57 +00:00
gingerBill
213a0499a1 Begin multithreading the llvm backend when -use-separate-modules is enabled 2023-01-05 12:29:16 +00:00
gingerBill
1517f1d779 Add uncomment add_type_info_type calls for type assertions 2023-01-05 11:54:21 +00:00
Colin Davidson
a58650728e fix futex error handling 2023-01-05 01:27:37 -08:00
gingerBill
bbb2164e38 Inline map gets; cast explicitly on TOMBSTONE checking 2023-01-05 01:25:37 +00:00
gingerBill
be23d83fc8 Remove unnecessary check is align_formula* et al 2023-01-05 00:47:09 +00:00
gingerBill
291ea33939 Initialize TypePath constructor like to keep the Futex constructor happy 2023-01-04 22:34:59 +00:00
gingerBill
9455918eec Fix min dep type info problem caused by const ref of map_set 2023-01-04 22:20:18 +00:00
gingerBill
8a99b8af3e Narrow mutex usage 2023-01-04 15:55:10 +00:00
gingerBill
12e42d92d3 Localize GenProcsData to the entity itself 2023-01-04 15:35:24 +00:00
gingerBill
faa735d0c7 Localize gen_types mutexes 2023-01-04 15:15:12 +00:00
gingerBill
d4e18109da Move walking of dependencies for procedures to just before calculating the min dep set 2023-01-04 13:52:38 +00:00
gingerBill
d06a0e7093 Improve the PtrSet to be as simple and small as possible 2023-01-04 13:30:27 +00:00
gingerBill
b3a55b8b6f Remove unused procedures 2023-01-03 18:42:13 +00:00
gingerBill
ec69101101 Convert minimum_dependency_type_info_set to use a PtrMap 2023-01-03 18:39:37 +00:00
gingerBill
17fa8cb6ef Add extra mutex to TypePth just in case 2023-01-03 18:21:42 +00:00
gingerBill
855ebceadc Minimize add_type_info_type usage 2023-01-03 17:26:05 +00:00
gingerBill
2720e98127 Add +ignore along with +build ignore 2023-01-03 17:25:51 +00:00
gingerBill
bb80c1b059 Add type_and_value_mutex to DeclInfo 2023-01-03 17:07:53 +00:00
gingerBill
85e390deba Minimize calling of Ast::thread_safe_file() when cloning 2023-01-03 15:57:09 +00:00
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