Commit Graph

4305 Commits

Author SHA1 Message Date
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
f29b51efdd Fix gb_shuffle 2021-07-13 13:09:55 +01:00
gingerBill
3930a32b0c enum Addressing_Mode : u8; 2021-07-12 16:45:54 +01:00
gingerBill
76707e1d2f Add sanity casts for 32/64 bit correctness 2021-07-12 11:03:12 +01:00
gingerBill
ff2e5c3efe Simplify big_int_not for negative inputs 2021-07-11 17:43:56 +01:00
gingerBill
eb36a0f3b1 Remove dead file 2021-07-11 16:35:04 +01:00
gingerBill
b397254696 Rename libtommath.c to libtommath.cpp 2021-07-11 16:33:58 +01:00
gingerBill
a1a1668dcf Update build.bat and Makefile 2021-07-11 16:23:25 +01:00
gingerBill
e308098f18 Add libtommath.c 2021-07-11 16:19:20 +01:00
gingerBill
63b572a0ab Clean up big int to LLVM integer code 2021-07-11 16:18:30 +01:00
gingerBill
e90e7d4af9 Change mp_clear calls to big_int_dealloc 2021-07-11 16:10:04 +01:00
gingerBill
460e14e586 Change the compiler's big integer library to use libTomMath
This now replaces Bill's crappy big int implementation
2021-07-11 16:08:16 +01:00
gingerBill
ebcabb8a27 Add sanity conversion check for integer to quaternion 2021-07-11 00:51:56 +01:00
gingerBill
257b749e9d Minimize mutex usage in update_expr_type 2021-07-11 00:21:31 +01:00
gingerBill
d9e6ade030 Add experimental support for a threaded semantic checker to -threaded-checker 2021-07-10 23:51:37 +01:00
gingerBill
690374d4de Fix typo 2021-07-10 23:07:42 +01:00
gingerBill
adb25d9d19 Convert constant tag to the correct type for LLVMAddCase 2021-07-10 22:29:52 +01:00
gingerBill
6de0181c75 Minor improvements to Map and StringMap 2021-07-10 21:51:39 +01:00
gingerBill
8a6b743d2a Simplify thread_pool_wait_to_process 2021-07-10 21:50:19 +01:00
gingerBill
ed8a6f872d Move things around for sanity checking for multithread preparation 2021-07-10 21:29:49 +01:00
gingerBill
0a61d4bf2b Use next_pow2_isize 2021-07-10 19:57:54 +01:00
gingerBill
332461c0d2 Add prototypes for next_pow2 2021-07-10 19:52:26 +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
4167ae95ae Fix #1050 2021-07-10 11:48:28 +01:00
gingerBill
13c3c5be95 Fix #1028 2021-07-10 11:46:22 +01:00
gingerBill
3afec0bcbe Fix #1054 2021-07-10 11:42:21 +01:00
gingerBill
8b1bfc80fb Fix #1051 2021-07-10 11:27:38 +01:00
gingerBill
3662275119 Allow x in ptr_to_map_or_bit_set 2021-07-10 11:18:19 +01:00
gingerBill
141573c18c Enable Damerau-Levenshtein 2021-07-10 11:09:24 +01:00
gingerBill
e692efbe09 Improve update expr type semantics for ternary expressions 2021-07-10 11:08:51 +01:00
gingerBill
35230b1a11 Add "Suggestion: Did you mean?" for selector expression typos 2021-07-08 23:15:07 +01:00
gingerBill
a98eee145d Remove try; Replace try x else y with or_else(x, y) 2021-07-05 16:23:13 +01:00
gingerBill
c6b9b3b9a4 Fix try parsing for expression statements 2021-07-04 22:52:12 +01:00
gingerBill
46264032aa Improve error messages for try expressions 2021-07-04 12:50:44 +01:00
gingerBill
4b831dbddd Try try and or_else built-in procedures with operators try and try else 2021-07-04 12:37:21 +01:00
gingerBill
a01d6dcea7 Refactor return logic to be more reusable with lb_emit_try 2021-07-04 01:57:38 +01:00
gingerBill
01a15f78e6 Simplify lb_emit_try return logic 2021-07-04 01:50:37 +01:00
gingerBill
5f71c41582 Fix lb_emit_try 2021-07-04 01:47:43 +01:00
gingerBill
e8f2c5a48a [Experimental] Add 'try' and `or_else' built-in procedures 2021-07-04 01:38:43 +01:00
gingerBill
d6125f05d4 Correct does_field_type_allow_using 2021-06-29 12:35:15 +01:00
gingerBill
8d31ba492d Fix #1042 2021-06-28 11:32:23 +01:00
gingerBill
8f611b3399 Fix #1043 2021-06-28 11:21:03 +01:00