gingerBill
3311ea1c76
Keep MSVC happy with secure versions of C calls
2024-07-15 00:38:10 +01:00
gingerBill
ecac3aef32
Change allocator to permanent
2024-04-08 16:18:14 +01:00
gingerBill
ec45504631
Obfuscate #line
2024-04-08 16:14:47 +01:00
gingerBill
810cf22e5d
Obfuscate #file and #procedure when -obfuscate-source-code-locations is enabled
2024-04-08 16:08:35 +01:00
gingerBill
9a2fc6cf4c
Serialize errors to make them sortable, deterministic, and generally more control
2024-03-19 15:34:29 +00:00
gingerBill
a9182cfd8c
Allow compound literals to access fields through using
2023-02-26 13:26:35 +00:00
gingerBill
8a16fd7699
Rename built-in procedure to expand_values
2023-02-07 15:39:39 +00:00
gingerBill
b470ceb470
Correct mpsc_dequeue
2023-01-12 12:59:09 +00:00
gingerBill
520ff731de
Add ArenaTemp to the compiler
2023-01-12 00:47:20 +00:00
gingerBill
0fb3032b73
General improves to alloc_ast_node and other unnecessary checks
2023-01-03 14:45:09 +00:00
gingerBill
252be0fb41
Make all maps use heap allocator implicitly
2023-01-03 11:59:52 +00:00
Colin Davidson
5f27f2dd7f
move to work-stealing threadpool
2022-12-28 21:44:17 -08:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
ac5f5a33e9
gb_internal a lot
2022-12-18 21:17:07 +00:00
gingerBill
ab1741ab38
Add Windows 32-bit build system error
2022-09-07 12:27:15 +01:00
gingerBill
b032d5af87
Make #simd an opaque type
2022-05-25 17:26:18 +01:00
Jeroen van Rijn
3cab2592c3
Compiler: Add early error for output path being a directory.
...
- Introduce new `Path` type and an array of build paths on the build context.
- Resolve input and output paths/files early (before parsing).
- Error early if inputs are missing or outputs are directories.
- Plumb new file path generation into linker stage instead of its adhoc method.
TODO:
- Remove more adhoc file path generation in parser and linker stage.
- Make intermediate object file generation use new path system.
- Round out and robustify Path helper functions.
2022-04-24 13:37:26 +02:00
Sébastien Marie
5676c9e7eb
initial OpenBSD support
2022-02-25 08:49:25 +00:00
gingerBill
71df46456a
Minimize memory usage by having an arena per thread rather than an arena per file
2022-02-18 21:30:25 +00:00
gingerBill
e814a3693f
Improve usage of file_id
2021-11-15 17:26:01 +00:00
gingerBill
26e3daf5ad
Unify MapFindResult types
2021-11-05 17:24:19 +00:00
gingerBill
541beb615b
Move more things to PtrMap
2021-11-05 17:13:07 +00:00
gingerBill
e95204908a
Add PtrMap, begin working change Map to PtrMap where possible
2021-11-05 16:34:37 +00:00
gingerBill
3794d2417d
Write a log(n) fallback for llvm_vector_reduce_add
...
This may be what LLVM does at any rate
2021-10-28 15:01:13 +01:00
gingerBill
2ad6aa7886
Copying file contents rather than memory mapping
2021-10-12 11:06:39 +01: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
Phil H
3ac13d2028
Correct levenshtein distance
2021-09-23 09:22:28 -07:00
gingerBill
05ac2002e0
Force file copy on odin strip-semicolon
2021-09-18 12:52:43 +01:00
gingerBill
3713f11461
Refactor init_tokenizer_with_data to file memory mapping (Windows only currently)
2021-09-18 11:58:27 +01:00
gingerBill
ad3a3547d6
Unify thread pool logic across the rest of the compiler, using a global thread pool
2021-08-26 21:22:30 +01:00
gingerBill
3e4d615983
Minor fixes
2021-08-26 15:41:32 +01:00
gingerBill
aa8777ee47
Change the implementation of Arena to use virtual memory, and remove the old gbArena code
2021-08-26 15:38:34 +01:00
gingerBill
df372dbd5b
Migrate and remove more from gb.h
2021-08-19 15:38:21 +01:00
gingerBill
5c4d95d539
Move more of gb.h's Synchronization code into common.cpp
2021-08-19 15:19:36 +01:00
gingerBill
740995df3d
Remove attribute parameter for pthread_mutex_init
2021-08-18 21:07:06 +01:00
gingerBill
aa5c3da414
Make BlockingMutex non-recursive on *nix systems
2021-08-18 20:57:03 +01:00
gingerBill
d419d81841
Remove unused code
2021-08-18 20:48:26 +01:00
gingerBill
08942714a2
Make Arena allocate virtual memory directory; make it use a BlockingMutex
2021-08-18 20:46:10 +01:00
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