aboutsummaryrefslogtreecommitdiff
path: root/src/common.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add Windows 32-bit build system errorgingerBill2022-09-071-0/+4
|
* Make `#simd` an opaque typegingerBill2022-05-251-0/+7
|
* Compiler: Add early error for output path being a directory.Jeroen van Rijn2022-04-241-256/+1
| | | | | | | | | | | | - 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.
* initial OpenBSD supportSébastien Marie2022-02-251-1/+1
|
* Minimize memory usage by having an arena per thread rather than an arena per ↵gingerBill2022-02-181-1/+1
| | | | file
* Improve usage of `file_id`gingerBill2021-11-151-12/+51
|
* Unify `MapFindResult` typesgingerBill2021-11-051-2/+1
|
* Move more things to `PtrMap`gingerBill2021-11-051-4/+4
|
* Add `PtrMap`, begin working change `Map` to `PtrMap` where possiblegingerBill2021-11-051-0/+1
|
* Write a `log(n)` fallback for `llvm_vector_reduce_add`gingerBill2021-10-281-1/+11
| | | | This may be what LLVM does at any rate
* Copying file contents rather than memory mappinggingerBill2021-10-121-25/+25
|
* Add @(init) attribute for procedures, allowing for procedures to be called ↵gingerBill2021-10-031-0/+33
| | | | | | at startup These procedures will be called after global variables have been initialized as normal
* Correct levenshtein distancePhil H2021-09-231-2/+2
|
* Force file copy on `odin strip-semicolon`gingerBill2021-09-181-63/+63
|
* Refactor `init_tokenizer_with_data` to file memory mapping (Windows only ↵gingerBill2021-09-181-0/+121
| | | | currently)
* Unify thread pool logic across the rest of the compiler, using a global ↵gingerBill2021-08-261-3/+1
| | | | thread pool
* Minor fixesgingerBill2021-08-261-1/+5
|
* Change the implementation of `Arena` to use virtual memory, and remove the ↵gingerBill2021-08-261-385/+6
| | | | old gbArena code
* Migrate and remove more from gb.hgingerBill2021-08-191-128/+2
|
* Move more of `gb.h`'s Synchronization code into common.cppgingerBill2021-08-191-23/+93
|
* Remove attribute parameter for `pthread_mutex_init`gingerBill2021-08-181-3/+1
|
* Make `BlockingMutex` non-recursive on *nix systemsgingerBill2021-08-181-6/+10
|
* Remove unused codegingerBill2021-08-181-3/+0
|
* Make `Arena` allocate virtual memory directory; make it use a `BlockingMutex`gingerBill2021-08-181-45/+26
|
* Fix typogingerBill2021-08-071-6/+6
|
* Inline heap_allocator resize logic on *nix platformsgingerBill2021-08-071-40/+42
|
* Improve and simplify the memory layout of `MPMCQueue`gingerBill2021-08-071-0/+22
|
* Give `begin_error_block` its own recursive mutexgingerBill2021-07-291-1/+1
|
* Modify MPMCQueue behaviour to use `i32` over `isize`; Correct cache line ↵gingerBill2021-07-281-1/+13
| | | | padding within MPMCQueue
* Define which mutexes are blocking and recursive explicitlygingerBill2021-07-271-38/+58
|
* Improve default scope sizegingerBill2021-07-271-1/+2
|
* Replace non-recursive mutexes with `BlockingMutex`; Minor improves to ↵gingerBill2021-07-141-0/+38
| | | | initialization improves
* Add (internal flag) -show-debug-messagesgingerBill2021-07-131-1/+1
|
* Temporarily disable `-threaded-checker`; Restructure the untyped-expr-info ↵gingerBill2021-07-131-0/+1
| | | | system to be much more thread-friendly
* Add sanity casts for 32/64 bit correctnessgingerBill2021-07-121-3/+3
|
* Move things around for sanity checking for multithread preparationgingerBill2021-07-101-0/+6
|
* Use `next_pow2_isize`gingerBill2021-07-101-0/+19
|
* Add prototypes for `next_pow2`gingerBill2021-07-101-0/+4
|
* Implement `MPMCQueue` for procedure body checkinggingerBill2021-07-101-0/+1
| | | | This is preparation for basic multithreading in the semantic checker
* Enable Damerau-LevenshteingingerBill2021-07-101-1/+12
|
* Add "Suggestion: Did you mean?" for selector expression typosgingerBill2021-07-081-4/+87
|
* Remove unused filegingerBill2021-04-251-1/+0
|
* Implement `f16` functionalitygingerBill2021-04-011-7/+23
|
* Similar to the update to gb.hNakst2021-03-141-1/+1
|
* Fix typogingerBill2021-01-151-0/+1
|
* Implement custom temporary allocator using ring buffergingerBill2020-11-151-36/+94
|
* Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a blockgingerBill2020-11-151-1/+34
|
* Begin clarifying allocation patterns by changing from `heap_allocator` to ↵gingerBill2020-11-151-8/+40
| | | | specific arenas
* Fix error message when importing package that does not existTetralux2020-10-091-1/+14
| | | | | | | | | | | 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.
* Add FreeBSD targets, get gb.h working with FreeBSD, fix odin_root_directory ↵Christian Seibold2020-09-141-1/+1
| | | | function for FreeBSD and a few other operating systems not yet added