Commit Graph

116 Commits

Author SHA1 Message Date
gingerBill
423b842347 Fix typo 2021-08-07 15:07:29 +01:00
gingerBill
16eeae36d7 Inline heap_allocator resize logic on *nix platforms 2021-08-07 15:05:46 +01:00
gingerBill
571170fd30 Improve and simplify the memory layout of MPMCQueue 2021-08-07 14:25:48 +01:00
gingerBill
700624119b Give begin_error_block its own recursive mutex 2021-07-29 12:35:11 +01:00
gingerBill
af32aba7fc Modify MPMCQueue behaviour to use i32 over isize; Correct cache line padding within MPMCQueue 2021-07-28 00:59:30 +01:00
gingerBill
a5d6fda433 Define which mutexes are blocking and recursive explicitly 2021-07-27 23:14:01 +01:00
gingerBill
116e98b378 Improve default scope size 2021-07-27 10:59:39 +01:00
gingerBill
bd8e2f82be Replace non-recursive mutexes with BlockingMutex; Minor improves to initialization improves 2021-07-14 00:34:34 +01:00
gingerBill
698eeaf7c3 Add (internal flag) -show-debug-messages 2021-07-13 17:40:06 +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
76707e1d2f Add sanity casts for 32/64 bit correctness 2021-07-12 11:03:12 +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
141573c18c Enable Damerau-Levenshtein 2021-07-10 11:09:24 +01:00
gingerBill
35230b1a11 Add "Suggestion: Did you mean?" for selector expression typos 2021-07-08 23:15:07 +01:00
gingerBill
4662bad59c Remove unused file 2021-04-25 20:31:35 +01:00
gingerBill
54e6c50769 Implement f16 functionality 2021-04-01 10:06:00 +01:00
Nakst
acefb2edbc Similar to the update to gb.h 2021-03-14 20:37:32 +00:00
gingerBill
e884f8c165 Fix typo 2021-01-15 15:46:15 +00:00
gingerBill
0d6f5cec37 Implement custom temporary allocator using ring buffer 2020-11-15 19:36:37 +00:00
gingerBill
17ec3e72a6 Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a block 2020-11-15 18:45:40 +00:00
gingerBill
3c1c10a178 Begin clarifying allocation patterns by changing from heap_allocator to specific arenas 2020-11-15 18:08:52 +00:00
Tetralux
dfac45942c Fix error message when importing package that does not exist
Previously on Linux, if a file in your program tried to import a
package that did not actually exist, read_directory() assumed that
the errno after calling opendir() was ENOTDIR.

This was incorrect.

Instead, we now switch on errno and check for ENOENT, which it is
if the directory does not exist.
2020-10-09 05:56:12 +01:00
Christian Seibold
ac126a8cd7 Add FreeBSD targets, get gb.h working with FreeBSD, fix odin_root_directory function for FreeBSD and a few other operating systems not yet added 2020-09-14 11:28:41 -05:00
gingerBill
e84406a895 Move zero_size 2020-05-27 18:26:20 +01:00
gingerBill
1a0614b0d7 Improve performance of tokenization and parsing 2020-05-27 18:23:37 +01:00
gingerBill
6ac0fb80a6 Minor tokenizer performance improvements 2020-05-27 12:32:11 +01:00
gingerBill
8e63c94393 Add string.h 2020-05-21 11:10:03 +01:00
gingerBill
97f7a558fa #optional_ok tag for procedures 2020-04-19 21:45:04 +01:00
gingerBill
f09b6a4c90 Simplify compiler's Map and create a StringMap specifically for strings 2020-04-13 13:02:30 +01:00
gingerBill
29a3cb25d3 Add extra guards for window-only performance checking 2020-04-07 11:47:28 +01:00
gingerBill
7ff690500a Fix psapi.h to be windows only 2020-04-07 11:41:55 +01:00
gingerBill
7f5021c8e9 Disallow procedure calls with an associated deferred procedure to be used in logical binary expressions (short-circuiting) 2019-12-15 11:10:50 +00:00
gingerBill
9db81498d8 Make the string type elements "immutable", akin to char const * in C
Allows for extra security and optimization benefits
2019-12-01 14:10:59 +00:00
gingerBill
37e3e081c6 Update microsoft_craziness.h to work correctly with the rest of the codebase (and not use WIN32_LEAN_AND_MEAN) 2019-11-27 15:18:32 +00:00
gingerBill
7fae890ef9 Allow ranges for array-like compound literals 2019-10-26 14:06:29 +01:00
gingerBill
657103c4cf ThreadPool for the parser 2019-09-01 20:02:39 +01:00
gingerBill
458ec5922e odin query
Output .json file containing information about the program
2019-05-25 20:24:19 +01:00
gingerBill
63bbb9b62f Change the file name rules for imports (use / rather than \ on windows) 2019-04-20 16:47:28 +01:00
gingerBill
2614830c69 Minor code organization change 2019-03-31 18:29:57 +01:00
gingerBill
e1ae359a77 Replace redundant code 2019-02-06 16:06:48 +00:00
Tetralux
1e180d611d Allow 'odin run program.odin -- <args-for-program.exe> 2019-01-28 17:58:48 +00:00
gingerBill
cdbf831a7a Replace context <- c {} with context = c;. context assignments are scope based 2018-08-04 23:14:55 +01:00
gingerBill
c3c7834246 BigInt support in the constant system 2018-07-28 00:41:31 +01:00
Zachary Pierson
5de3b07e2b Made os_osx.odin use the new-style runtime.args__ and added read_directory for macOS 2018-07-02 02:50:08 -05:00
gingerBill
cdf873542b Add read_directory for linux 2018-06-21 08:39:52 +01:00
gingerBill
3eb8aa8268 Modify CommentGroup parsing 2018-06-17 10:29:20 +01:00
gingerBill
268491b224 Use global arena for AstNode allocations 2018-06-09 19:53:06 +01:00