gingerBill
20eacc4a84
Fix issue that conflicts with constant parapoly procedures and deferred_* procedures
2023-02-19 12:10:28 +00:00
gingerBill
8a2a70a3c2
Fix overriding procedure information for literals
2023-02-17 13:00:37 +00:00
gingerBill
60e73d91f6
Remove internal readonly attribute
2023-02-03 13:42:23 +00:00
gingerBill
5eeb436626
Temporarily make all map get calls dynamic
2023-02-03 12:43:21 +00:00
gingerBill
eb457d688d
Make static map calls the default; add -dynamic-map-calls
2023-02-03 12:16:58 +00:00
gingerBill
f59846377d
Improve ternary logic for untyped nil stuff
2023-01-30 15:29:59 +00:00
gingerBill
8e8eb9e5cd
Improve ternary if expression type inference rues
...
Allow for expression like this
`x: union{f32} = f32(123) if cond else nil`
2023-01-30 12:54:11 +00:00
gingerBill
c45ca1bfcc
Correct arena_temp_end usage when no allocation ever happens for that arena
2023-01-28 12:09:24 +00:00
gingerBill
5d397804f7
Fix #2286 by printing an error correctly
2023-01-16 13:22:37 +00:00
gingerBill
2dca39b557
Remove auto_cast procedure field flag
...
Fixes #2285
2023-01-16 12:06:03 +00:00
gingerBill
b55fa268bf
Fix #2267 by making it an error
2023-01-16 12:03:46 +00:00
gingerBill
c819c350d6
Add error message for atomic intrinsics to prevent arbitrary types
2023-01-16 11:58:14 +00:00
gingerBill
d55248ab0f
Fix #2301
2023-01-16 11:45:15 +00:00
gingerBill
1ab90de493
Minimize StringMap structure usage
2023-01-14 12:33:42 +00:00
gingerBill
e97bf2ef35
Minimize contention on the deps for decls
2023-01-12 15:38:23 +00:00
gingerBill
520ff731de
Add ArenaTemp to the compiler
2023-01-12 00:47:20 +00:00
gingerBill
1517f1d779
Add uncomment add_type_info_type calls for type assertions
2023-01-05 11:54:21 +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
855ebceadc
Minimize add_type_info_type usage
2023-01-03 17:26:05 +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
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
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
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
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
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
690666537c
Add gb_internal to checker
2022-12-18 21:46:27 +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
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
6fa0679be9
Fix #2109
2022-11-21 13:12:44 +00:00
gingerBill
0b33df4e9d
Fix #2186
2022-11-21 11:30:21 +00:00
gingerBill
824b97d250
Fix #2197
2022-11-21 11:14:29 +00:00
gingerBill
83558a1352
Fix #2201
2022-11-21 11:01:01 +00:00
gingerBill
27d56d0da4
Fix #2125
2022-11-21 10:25:34 +00:00
gingerBill
25bec19b1f
Revert "Minor improvement to multi return value reducing stack usage"
2022-11-13 23:56:05 +00:00
gingerBill
a705a2e38b
Minor improvement to multi return value reducing stack usage
2022-11-13 22:55:32 +00:00
gingerBill
16fc961010
Begin work on map static set
2022-11-11 14:45:22 +00:00