aboutsummaryrefslogtreecommitdiff
path: root/src/common.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Move `zero_size`gingerBill2020-05-271-6/+7
|
* Improve performance of tokenization and parsinggingerBill2020-05-271-12/+18
|
* Minor tokenizer performance improvementsgingerBill2020-05-271-1/+9
|