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
gingerBill
b9a2426e57
Merge branch 'master' into compiler-improvements-2022-12
2022-12-21 23:59:31 +00:00
gingerBill
81037b3091
Change the order of the args and ret for Arm64 ABI
2022-12-21 23:56:34 +00:00
gingerBill
3040361fac
Correct type_ptr_set_update and type_ptr_set_exists
2022-12-20 14:59:00 +00:00
gingerBill
44caa96d50
Set the file's filename and directory in init_ast_file
2022-12-20 14:56:44 +00:00
gingerBill
eb0775ad53
Move mutex use around in thread pool
2022-12-20 14:45:01 +00:00
gingerBill
8fc9566a83
Use *_set_update where possible
2022-12-20 14:19:55 +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
a13e2f4578
Fix minor race condition
2022-12-19 00:29:40 +00:00
gingerBill
01b508f182
Use usize for bounds checking in Array and Slice (compiler)
2022-12-18 23:26:44 +00:00
gingerBill
2a8fa8612d
Use fetch_add rather than +=
2022-12-18 23:24:34 +00:00
gingerBill
e27046098b
Add missing gb_internal
2022-12-18 22:58:34 +00:00
gingerBill
ca8b148fdc
Add gb_internal to path procedures
2022-12-18 22:52:18 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
6cdec65ca1
gb_internal LLVM backend
2022-12-18 22:32:05 +00:00
gingerBill
66ce990e0b
gb_internal to docs and other auxiliary files
2022-12-18 21:51:04 +00:00
gingerBill
690666537c
Add gb_internal to checker
2022-12-18 21:46:27 +00:00
gingerBill
056ba1ed13
Even more gb_internal everywhere
2022-12-18 21:24:45 +00:00
gingerBill
93a1f2bf61
Merge remote-tracking branch 'remotes/Odin-GitHub/master' into compiler-improvements-2022-12
2022-12-18 21:17:19 +00:00
gingerBill
ac5f5a33e9
gb_internal a lot
2022-12-18 21:17:07 +00:00
gingerBill
ff6b76986a
Use C++11 loops for some arrays
2022-12-09 12:32:54 +00:00
gingerBill
5c3624eb86
Fix map looping
2022-12-09 12:18:49 +00:00
gingerBill
144e357fd2
Add extra check
2022-12-09 11:37:15 +00:00
gingerBill
be22f0d1e1
Fix variable shadow in compiler
2022-12-09 11:32:52 +00:00
gingerBill
34a048f7da
Replace compiler for loops for the hash-table types to simplify code usage
2022-12-09 11:29:28 +00:00
gingerBill
ffe953b43d
Make os.get_last_error contextless
2022-12-08 16:04:03 +00:00
gingerBill
b8eacfc7b6
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-12-08 15:58:44 +00:00
gingerBill
f8452bf1fc
Add different variants for once_do
2022-12-08 15:58:39 +00:00
gingerBill
20943a81c1
Make sync calls contextless where possible
2022-12-08 15:55:53 +00:00
gingerBill
9cb9964c2d
Remove old code
2022-12-08 00:52:11 +00:00
gingerBill
1f8f94276e
Initialize the multiple return value map in lb_create_dummy_procedure
2022-12-07 16:44:26 +00:00
gingerBill
521ed28632
Keep -vet happy
2022-12-06 19:57:41 +00:00
gingerBill
d6300314c0
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-12-06 19:55:24 +00:00
gingerBill
27130259cc
Coalesce tombstones on delete_key to reduce all map slots from being filled on insertion
...
This is a bodge and will need to be replaced with an actual solution involving backward shift deletion rather than relying on tombstone slots in the first place.
2022-12-06 19:55:17 +00:00
gingerBill
f9f4551e8d
Add user_data: rawptr to filepath.Walk_Proc callback
2022-12-05 22:31:35 +00:00
gingerBill
2127dc56b1
Add math.pow10
2022-11-29 14:31:56 +00:00
gingerBill
e59e34d334
Change order of map_free_dynamic in usage
2022-11-29 12:27:32 +00:00
gingerBill
4fd97c3ba6
Remove panic
2022-11-29 12:22:37 +00:00
gingerBill
107c7a36d0
Treat .Mode_Not_Implemented as not an error when doing runtime.map_free_dynamic
2022-11-29 12:20:01 +00:00