gingerBill
648b83d6ea
Add or_break and or_continue constructs
2023-09-30 15:04:17 +01:00
gingerBill
65206fe33e
Go through loads of TODOs
2023-08-01 11:39:04 +01:00
gingerBill
0de7df9eab
Improve //+vet; remove using in many places; add //+vet !using-stmt where necessary
2023-07-31 11:37:14 +01:00
gingerBill
60e509b1e0
Add separate -vet flags; -vet-using-* flags; //+vet file flags
2023-07-31 11:09:19 +01:00
gingerBill
581eebb197
Fix a race condition when produced anonymous procedure literals with -use-separate-modules
2023-06-13 13:14:59 +01:00
gingerBill
dc55e88588
Add @(deferred_*_by_ptr=<proc>)
2023-04-15 16:04:04 +01:00
gingerBill
2c4a478987
Add @(extra_linker_flags=<string>)
2023-03-21 13:30:58 +00:00
gingerBill
8a2a70a3c2
Fix overriding procedure information for literals
2023-02-17 13:00:37 +00:00
gingerBill
94c1331c07
Implement @(fini) (opposite of @(init))
2023-02-15 11:31:51 +00:00
gingerBill
e97bf2ef35
Minimize contention on the deps for decls
2023-01-12 15:38:23 +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
7124d541a1
General optimizations
2023-01-11 18:10:27 +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
ec69101101
Convert minimum_dependency_type_info_set to use a PtrMap
2023-01-03 18:39:37 +00:00
gingerBill
bb80c1b059
Add type_and_value_mutex to DeclInfo
2023-01-03 17:07:53 +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
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
0d87b2e8db
Use local mutexes rather than a global one for the dependency insertion
2023-01-02 19:39:35 +00:00
gingerBill
c293f5b7eb
Remove unneeded mutex
2023-01-02 16:56:05 +00:00
gingerBill
529383f5b1
Correct a race condition when checking the procedure body
2023-01-02 15:30:04 +00:00
gingerBill
015fe924b8
Remove use of queues for procedure checking.
2023-01-02 12:28:38 +00:00
gingerBill
00823ca88c
Remove a few TODOs
2022-12-22 13:03:34 +00:00
gingerBill
a13e2f4578
Fix minor race condition
2022-12-19 00:29:40 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
056ba1ed13
Even more gb_internal everywhere
2022-12-18 21:24:45 +00:00
gingerBill
d88b052d2d
Naïve optimization of named _split_ multiple return valued when defer is never used
...
This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables
are not allocated to represent the named return values by using that specific memory.
In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not,
or is ever passed to a nested procedure call (e.g. possibly escapes).
2022-11-25 23:57:55 +00:00
gingerBill
a054c2934e
Cache #load data and hashes
2022-08-11 13:32:45 +01:00
gingerBill
f3868ac932
Improve missing handled results for built in procedures
2022-05-30 15:57:26 +01:00
gingerBill
f3aefbc443
@(require_target_feature=<string>) @(enable_target_feature=<string>)
...
require_target_feature - required by the target micro-architecture
enable_target_feature - will be enabled for the specified procedure only
2022-05-30 14:53:12 +01:00
gingerBill
e4743b15b1
Add @(priority_index=<int>) for foreign import
2022-05-04 16:40:12 +01:00
gingerBill
03aec70287
Change objc_class_name to objc_name with objc_is_class_method
2022-02-14 17:31:55 +00:00
gingerBill
f8afda3b22
Add more objc attributes
2022-02-11 22:54:51 +00:00
gingerBill
0cc40db565
Begin work on support objc intrinsics
2022-02-08 17:04:55 +00:00
gingerBill
7e4067c44c
Begin work to move entry point code to Odin itself rather than in C++ side
2022-01-12 19:19:43 +00:00
gingerBill
847b05013f
Disable DEFAULT_TO_THREADED_CHECKER until race condition is found
2022-01-11 10:56:07 +00:00
gingerBill
f47311f2f6
Remove scope field from Ast
2021-11-14 15:22:40 +00:00
gingerBill
0af69f8cda
Remove map.cpp code
2021-11-05 17:16:37 +00:00
gingerBill
6646348e1a
Increase usage of PtrMap
2021-11-05 17:03:02 +00:00
gingerBill
924faa58b4
Correct map_remove(PtrMap)
2021-11-05 16:45:27 +00:00
gingerBill
e95204908a
Add PtrMap, begin working change Map to PtrMap where possible
2021-11-05 16:34:37 +00:00
gingerBill
6ded538546
@(linkage=<string>) for procedures and variables; @(require) for procedures; package runtime linkage improvements; Subsequence improvements to lb_run_remove_unused_function_pass
2021-11-04 12:40:50 +00:00