Commit Graph

437 Commits

Author SHA1 Message Date
gingerBill
67bedcba4b Reorganize stages in checker 2021-08-03 13:41:28 +01:00
gingerBill
4987ef89f1 Reorganize some of the checker stages 2021-08-03 13:40:47 +01:00
gingerBill
3e961af5f1 Sort files by name in packages 2021-08-02 22:55:22 +01:00
gingerBill
9e6e769141 Add sanity checks to checker 2021-08-02 18:32:17 +01:00
gingerBill
ccbdf086ff Add @(warning=<string>) 2021-08-02 16:58:50 +01:00
gingerBill
7f3d4cb504 Remove the literal conversion logic to the parser from the tokenizer 2021-08-02 00:53:45 +01:00
gingerBill
be76da2c90 Begin optimizing tokenizer; Replace gb_utf8_decode with utf8_decode (CC but easier to change later) 2021-08-01 23:56:17 +01:00
gingerBill
541c79c01a Add mutex for @(builtin) attributes 2021-07-28 00:27:16 +01:00
gingerBill
416dd93bf7 Add accidentally removed call 2021-07-27 23:39:35 +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
4bc3796f9b Short circuit check_with_workers logic on worker_count == 0 2021-07-27 23:00:51 +01:00
gingerBill
5e12f5a746 Unify threading logic 2021-07-27 22:55:32 +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
44aa69748c Correct logic for check_import_entities - collect file decls 2021-07-27 21:13:03 +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
116e98b378 Improve default scope size 2021-07-27 10:59:39 +01:00
gingerBill
6cd06ab95f Minor fix 2021-07-25 13:07:31 +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
e15858e2be Remove random load balancing in thread_proc_body 2021-07-14 22:53:02 +01:00
gingerBill
6d8302825c Add Greed Work Stealing and Random Load Balancing for check_procedure_bodies 2021-07-14 01:13:39 +01:00
gingerBill
fae8bf96dd Muilthread check_collect_entities_all 2021-07-14 00:46:03 +01:00
gingerBill
bc59dc6389 Remove duplicate code 2021-07-14 00:36:48 +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
31c7afce1b Minor code clean up to reuse the ProcInfo consumption code 2021-07-13 21:19:13 +01:00
gingerBill
698eeaf7c3 Add (internal flag) -show-debug-messages 2021-07-13 17:40:06 +01:00
gingerBill
bd954d9990 Minor code reorganization 2021-07-13 17:28:39 +01:00
gingerBill
4ded42a33b Split up cycle check and adding type info timings 2021-07-13 17:24:20 +01:00
gingerBill
1877965ac3 Short on -threaded-checker 2021-07-13 17:04:08 +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
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
ec9667ef5a Remove debug code 2021-07-10 17:11:54 +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
e692efbe09 Improve update expr type semantics for ternary expressions 2021-07-10 11:08:51 +01:00
gingerBill
31f1e0aeae Fix #1019 2021-06-15 01:13:16 +01:00
gingerBill
8e62f9c83c Correct is_operand_value for Swizzle addressing modes 2021-06-08 14:23:44 +01:00
gingerBill
84b851f578 Add warning to variables which may overflow the stack on declaration; #Fix 661 2021-06-06 12:42:39 +01:00
gingerBill
785c27daa7 Fix 128-bit integer to float cast by explicitly calling the procedure direct; Fix #781 2021-06-06 12:35:38 +01:00
gingerBill
3bf00e6125 Comment on the required generate_minimum_dependency_set entities 2021-05-31 20:50:21 +01:00