aboutsummaryrefslogtreecommitdiff
path: root/base/runtime/default_temp_allocator_arena.odin
Commit message (Collapse)AuthorAgeFilesLines
* Fix default temp allocator under flow bugDuchGhast2025-12-081-0/+1
|
* Add require_results attr to procs returning an allocatorDamian Tarnawski2025-09-021-0/+1
|
* Require `@(init)` and `@(fini)` to be `proc "contextless" ()`gingerBill2025-08-081-2/+5
|
* Disable usage of AddressSanitizer pending a per-allocator reviewFeoramund2025-06-151-7/+7
| | | | | | | | | | | 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-061-0/+8
|
* fix wrong out of memory in edge cases, just try allocate from block for one ↵Laytan Laats2025-02-121-6/+7
| | | | source of truth
* 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;
* typo fixAbdul Rahman Sibahi2024-08-111-1/+1
|
* Clarify that the arena in base:runtime shouldn't be used for anything but ↵Karl Zylinski2024-06-181-0/+306
the default temp allocator. This is done by renaming the file in which it lives, and also by improving the comment above `Arena :: struct {`. This should avoid some confusion where people end up using the Arena in base:runtime because they thought it was the 'default arena'.