gingerBill
|
1064bcd060
|
Clean up use of StringMap
|
2023-01-13 12:13:26 +00:00 |
|
gingerBill
|
1e21125527
|
Split out object generation more
|
2023-01-12 21:49:53 +00:00 |
|
gingerBill
|
4a8c37dd52
|
Prepare for arbitrary separate modules
|
2023-01-12 21:45:02 +00:00 |
|
gingerBill
|
3b22c6620c
|
Begin to generalize modules away from AstPackage * in -use-separate-modules
|
2023-01-12 17:13:25 +00:00 |
|
gingerBill
|
402a165b60
|
Correct missing procedures in other build modules which cause a linkage problem
|
2023-01-12 16:59:16 +00:00 |
|
gingerBill
|
34f9170189
|
Fix race condition with polymorphic record generation
|
2023-01-12 16:06:09 +00:00 |
|
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
|
d7d6608142
|
Remove unneeded CI stage
|
2023-01-11 22:08:25 +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
|
3e8c63ad31
|
Add Odin check -threaded-checker test for windows
|
2023-01-10 20:46:00 +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 |
|
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 |
|
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
|
00823ca88c
|
Remove a few TODOs
|
2022-12-22 13:03:34 +00:00 |
|
gingerBill
|
ffa14c3aad
|
Remove need the MPMC in single threaded case
|
2022-12-22 12:58:23 +00:00 |
|
gingerBill
|
41b32f0da4
|
Clean up mutex usage in the parser
|
2022-12-22 12:45:23 +00:00 |
|
gingerBill
|
c53b2198a8
|
Add minor comment
|
2022-12-22 12:02:14 +00:00 |
|
gingerBill
|
9b278db993
|
Revert "Change tav to be a pointer internally"
This reverts commit e98f1a28e6.
|
2022-12-22 12:01:41 +00:00 |
|
gingerBill
|
e98f1a28e6
|
Change tav to be a pointer internally
|
2022-12-22 11:53:13 +00:00 |
|