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
gingerBill
2bdae52fed
Add @(init) attribute for procedures, allowing for procedures to be called at startup
...
These procedures will be called after global variables have been initialized as normal
2021-10-03 11:53:32 +01:00
gingerBill
5c4d95d539
Move more of gb.h's Synchronization code into common.cpp
2021-08-19 15:19:36 +01:00
gingerBill
a01c946c20
Add mutex to Scope lookups and insertions
2021-08-18 11:17:14 +01:00
gingerBill
cdb3a5205c
Add mutex for add_type_and_value
2021-08-17 19:54:09 +01:00
gingerBill
94d298755a
Fix race condition when adding a dependency
2021-08-16 15:33:26 +01:00
gingerBill
ccbdf086ff
Add @(warning=<string>)
2021-08-02 16:58:50 +01:00
gingerBill
541c79c01a
Add mutex for @(builtin) attributes
2021-07-28 00:27:16 +01:00
gingerBill
7c80577160
Correct race condition on untyped expr info map logic on global evaluations
2021-07-27 23:37:55 +01:00
gingerBill
a5d6fda433
Define which mutexes are blocking and recursive explicitly
2021-07-27 23:14:01 +01:00
gingerBill
4080ba4026
Remove global semaphore and place in CheckerInfo
2021-07-27 21:42:43 +01:00
gingerBill
e17593be94
Remove dead mutex
2021-07-27 21:14:06 +01:00
gingerBill
9cd5ea59dd
Big simplification and improvement of the entity collection system, reducing unneeded steps for packages
2021-07-27 20:45:50 +01:00
gingerBill
99080d41f3
INTERNAL USE ONLY: //+lazy build flag
2021-07-25 13:06:09 +01:00
gingerBill
2938ec028f
Remove dead code
2021-07-15 00:37:59 +01:00
gingerBill
981b9fb7a8
Remove need for scope mutex, make Scope singly linked list tree with atomic pointers
2021-07-14 23:49:35 +01:00
gingerBill
10f4d8df32
Override libtommath allocation procedures
2021-07-14 23:36:23 +01:00
gingerBill
bd8e2f82be
Replace non-recursive mutexes with BlockingMutex; Minor improves to initialization improves
2021-07-14 00:34:34 +01:00
gingerBill
69027b6840
Remove dead mutexes
2021-07-13 23:10:12 +01:00
gingerBill
7a9b7af078
Reduce mutex usage and convert things to queues from arrays
2021-07-13 23:09:24 +01:00
gingerBill
cec2309504
Big improvement to the -threaded-checker code, unifying the logic and simplify behaviour
2021-07-13 16:58:40 +01:00
gingerBill
ed5a4afc8c
Temporarily disable -threaded-checker; Restructure the untyped-expr-info system to be much more thread-friendly
2021-07-13 15:54:56 +01:00
gingerBill
3930a32b0c
enum Addressing_Mode : u8;
2021-07-12 16:45:54 +01:00
gingerBill
d9e6ade030
Add experimental support for a threaded semantic checker to -threaded-checker
2021-07-10 23:51:37 +01:00
gingerBill
ed8a6f872d
Move things around for sanity checking for multithread preparation
2021-07-10 21:29:49 +01:00
gingerBill
d8abe7fc4d
Implement MPMCQueue for procedure body checking
...
This is preparation for basic multithreading in the semantic checker
2021-07-10 19:50:34 +01:00
gingerBill
9f7154a039
Prepare for multithreading the semantic checker by giving mutexes to variables of contention
...
NOTE(bill): I know this is dodgy, but I want to make sure it is correct logic before improve those data structures
2021-07-10 15:14:25 +01:00
gingerBill
4a932616fc
Improve CheckerContext usage
2021-07-10 13:02:13 +01:00
gingerBill
73fe36f19c
Remove dead variable
2021-07-10 11:59:41 +01:00
gingerBill
9491c13a5c
Fix #1011 by unifying the logic
2021-06-08 11:09:41 +01:00
gingerBill
c440296ae8
Add @(link_section=<string>) for global variables
2021-05-24 15:41:22 +01:00
gingerBill
7b7081d607
Remove old dead code
2021-05-15 18:59:54 +01:00
gingerBill
47f97b8f89
Remove unused hint
2021-05-06 14:09:50 +01:00