aboutsummaryrefslogtreecommitdiff
path: root/core/mem/virtual
Commit message (Collapse)AuthorAgeFilesLines
* Require `@(init)` and `@(fini)` to be `proc "contextless" ()`gingerBill2025-08-085-8/+8
|
* `for in string16`; Support `string16` across coregingerBill2025-08-021-1/+1
|
* Add `virtual.new_clone`gingerBill2025-07-301-0/+11
|
* Fix very subtle bug in `virtual.memory_block_alloc`gingerBill2025-07-201-2/+2
|
* Disable usage of AddressSanitizer pending a per-allocator reviewFeoramund2025-06-152-17/+17
| | | | | | | | | | | It has been discovered that AddressSanitizer does not keep a 1:1 mapping of which bytes are poisoned and which are not. This can cause issues for allocations less than 8 bytes and where addresses straddle 8-byte boundaries. See the following link for more information: https://github.com/google/sanitizers/wiki/AddressSanitizerAlgorithm#mapping
* Add asan support for various allocatorsLucas Perlind2025-05-064-20/+63
|
* Merge pull request #4836 from laytan/fix-wrong-out-of-memorygingerBill2025-03-207-29/+106
|\ | | | | fix wrong out of memory in edge cases, just try allocate from block for one source of truth
| * mem/virtual: specify max protection on mmap call in NetBSD and FreeBSDLaytan Laats2025-02-186-24/+99
| |
| * fix wrong out of memory in edge cases, just try allocate from block for one ↵Laytan Laats2025-02-121-5/+7
| | | | | | | | source of truth
* | Fix: When resizing a virtual arena by commiting more of the already reserved ↵alektron2025-03-021-0/+2
|/ | | | memory, the total_used field of the arena was not updated;
* Added support for growing in place to some arenas.Barinzaya2025-01-241-4/+18
| | | | | | | | | | | | | This affects `runtime.Arena` and `virtual.Arena`, but not currently `mem.Arena`. These changes allow the last allocation that has been made to be resized to a larger size by just extending their allocation in-place, when there's sufficient room in the memory block to do so. Shrinking in place and re-using the rest of the allocation can be supported using almost the same logic, but would require the memory to be zeroed. Since this would add a additional cost that isn't currently present, shrinking has not been changed.
* Fix: Issue with non-zeroed memory after arena_temp_and;alektron2025-01-151-1/+2
| | | | Fix: total_used field of growing Arena was not decremented correctly in arena_temp_end;
* Fixed crash in arena_free_all() for bootstrapped growing arenas.dmitriy.gorevoy2024-12-231-1/+2
| | | | When trying to set arena.curr_block.used = 0 after mem.zero() caused a crash because if the arena is bootstrapped its memory will be zeroed out after mem.zero() thus making arena.cur_block point to zero.
* sys/posix: add MAP_ANONYMOUSLaytan Laats2024-11-171-7/+3
|
* Moved all packages in core, base, vendor, tests and examples to use new #+ ↵Karl Zylinski2024-09-145-14/+14
| | | | file tag syntax.
* mem/virtual: make sure the given size is used for subsequent blocksLaytan Laats2024-08-291-0/+4
|
* mem/virtual: use `sysconf` for retrieving page size and actually use these ↵Laytan Laats2024-08-292-2/+9
| | | | init procs
* mem/virtual: support the BSDsLaytan Laats2024-08-142-6/+14
|
* posix: add packageLaytan Laats2024-08-141-127/+26
|
* Replace `err != 0` with `err != nil` where possiblegingerBill2024-08-041-2/+2
|
* allow `core:mem/virtual` import on more targets by expanding the `other` ↵Laytan Laats2024-07-111-1/+3
| | | | implementation
* Even more style fixesgingerBill2024-06-291-3/+3
|
* Added missing build tags in coreAndreas T Jonsson2024-04-251-4/+4
|
* Fix typogingerBill2024-03-071-2/+2
|
* Add `default_commit_size` to `virtual.Arena`gingerBill2024-03-072-14/+36
|
* Add virtual.Arena utilities: `new`, `new_aligned`, `make`gingerBill2024-03-061-0/+67
|
* mem/virtual: fix arena_static_reset_to inverted logicLaytan2024-02-061-2/+2
|
* Remove `core:os` dependency for `base:runtime`gingerBill2024-01-281-1/+1
|
* Replace `core:*` to `base:*` where appropriategingerBill2024-01-281-2/+2
|
* Keep vet happygingerBill2024-01-171-2/+0
|
* Fix typogingerBill2024-01-171-1/+1
|
* Fix typogingerBill2024-01-171-1/+1
|
* Rename to `Map_File_*`gingerBill2024-01-175-9/+9
|
* Merge branch 'master' of https://github.com/odin-lang/OdingingerBill2024-01-171-1/+1
|\
| * bring log allocator up to dateColin Davidson2024-01-175-12/+12
| |\
| * | add resize non zeroed in more placesColin Davidson2023-12-041-1/+1
| | |
* | | Add `virtual.map_file`gingerBill2024-01-175-1/+139
| |/ |/|
* | stdcall -> systemgingerBill2024-01-171-1/+1
| |
* | fixxb-bx2024-01-082-2/+2
| |
* | fix not passing arg everywhereLaytan2023-12-181-1/+1
| |
* | fix big alignmentLaytan2023-12-182-5/+5
| |
* | fix same problem in virtual arenaLaytan Laats2023-12-181-4/+4
| |
* | virtual arena: Actually use DEFAULT_ARENA_STATIC_RESERVE_SIZE as default ↵Karl Zylinski2023-12-041-1/+1
|/ | | | value on arena_init_static
* Implement new sys/unix packageflysand72023-10-271-74/+23
|
* Scale by 3/2 rather than 5/4gingerBill2023-08-151-1/+1
|
* Improve heuristic for committing memory with `virtual.alloc_from_memory_block`gingerBill2023-08-151-5/+12
|
* Align committed to a page sizegingerBill2023-08-151-0/+5
|
* `alloc_from_memory_block` to commit amounts equal to multiples of the ↵gingerBill2023-08-151-5/+8
| | | | `DEFAULT_PAGE_SIZE`
* Fix docs typogingerBill2023-08-071-1/+1
|
* Fix small doc mistakes in arena.odinEric Johnson2023-07-111-4/+4
|