| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | core:os -> core:os/old && core:os/os2 -> core:os | Jeroen van Rijn | 6 days | 2 | -3/+3 |
| | | |||||
| * | Remove all `core:os` imports from JS targets | Jeroen van Rijn | 6 days | 2 | -15/+18 |
| | | | | | Fix `local_tz_name` on FreeBSD. | ||||
| * | More conflicts during rebase | Jeroen van Rijn | 7 days | 1 | -8/+8 |
| | | |||||
| * | mem.virtual -> os2 | Jeroen van Rijn | 7 days | 6 | -11/+49 |
| | | |||||
| * | Merge pull request #5859 from odin-lang/bill/change-licensedev-2025-11 | gingerBill | 2025-11-04 | 2 | -2/+2 |
| |\ | | | | | Change Odin's LICENSE to zlib from BSD 3-clause | ||||
| | * | Correct license for tlsfbill/change-license | gingerBill | 2025-10-29 | 2 | -2/+2 |
| | | | |||||
| | * | Change Odin's LICENSE to zlib from BSD 3-clause | gingerBill | 2025-10-28 | 2 | -2/+2 |
| | | | | | | | | | This change was made in order to allow things produced with Odin and using Odin's core library, to not require the LICENSE to also be distributed alongside the binary form. | ||||
| * | | Typo in description of mem.ptr_sub. | Daniel TroszczyĆski | 2025-10-30 | 1 | -2/+2 |
| |/ | |||||
| * | Fix indentation | gingerBill | 2025-10-27 | 1 | -2/+2 |
| | | |||||
| * | Add `Raw_String16`/`Raw_Cstring16` to `core:mem` | gingerBill | 2025-10-10 | 1 | -0/+11 |
| | | |||||
| * | Further overhaul of package line comments. | Jeroen van Rijn | 2025-10-09 | 3 | -3/+3 |
| | | |||||
| * | More package lines. | Jeroen van Rijn | 2025-10-09 | 3 | -6/+5 |
| | | |||||
| * | Fix typo | gingerBill | 2025-10-09 | 1 | -1/+1 |
| | | |||||
| * | Add doc line to `core:mem/virtual` | gingerBill | 2025-10-09 | 1 | -0/+62 |
| | | |||||
| * | Move memory mutex guard around for resize in virtual.Arena allocator | gingerBill | 2025-09-27 | 1 | -2/+16 |
| | | |||||
| * | Fix out-of-band allocations in dynamic arenas | rationalcoder | 2025-09-16 | 1 | -8/+8 |
| | | |||||
| * | Add require_results attr to procs returning an allocator | Damian Tarnawski | 2025-09-02 | 1 | -0/+1 |
| | | |||||
| * | Fix buddy allocator assert | alessio98888 | 2025-08-16 | 1 | -1/+1 |
| | | | | | | | | The last address of "data" is not "cast(uintptr)raw_data(data)+cast(uintptr)size" but "cast(uintptr)raw_data(data)+cast(uintptr)(size-1)". The original assert would fail when for example the allocation size requested and the buddy allocator allignment were both 64. | ||||
| * | Require `@(init)` and `@(fini)` to be `proc "contextless" ()` | gingerBill | 2025-08-08 | 5 | -8/+8 |
| | | |||||
| * | `for in string16`; Support `string16` across core | gingerBill | 2025-08-02 | 1 | -1/+1 |
| | | |||||
| * | Add `virtual.new_clone` | gingerBill | 2025-07-30 | 1 | -0/+11 |
| | | |||||
| * | mem: Clarify `Buddy_Allocator` requirements | Feoramund | 2025-07-22 | 1 | -1/+4 |
| | | |||||
| * | Fix very subtle bug in `virtual.memory_block_alloc` | gingerBill | 2025-07-20 | 1 | -2/+2 |
| | | |||||
| * | mem: Guard against `Buddy_Allocator` overwriting metadata | Feoramund | 2025-06-20 | 1 | -0/+1 |
| | | |||||
| * | mem: Don't print `Buddy_Allocator.tail` | Feoramund | 2025-06-20 | 1 | -1/+1 |
| | | | | | | | This is always a pointer past the end of the buffer given to `buddy_allocator_init`, which could be an invalid address. Printing may result in a segmentation violation. | ||||
| * | mem: Forbid construction of `Buddy_Allocator` with insufficient space | Feoramund | 2025-06-19 | 1 | -0/+1 |
| | | | | | This takes into account eventual alignment. | ||||
| * | mem: Fix `Buddy_Allocator` size calculation to truly include alignment | Feoramund | 2025-06-19 | 1 | -6/+8 |
| | | | | | | | | | | | | | | This didn't take into account the size of the header plus the size of the allocation itself by virtue of `align_forward_uint`; this could result in no change if `size` was equal to `b.alignment` because the number is aligned, and if `actual_size` and `size` ended up being equal, no additional space would be requested. This meant that a block would end up being allocated on top of its buddy's head. Fixes #3435 | ||||
| * | mem: Fix inverted condition in `buddy_allocator_alloc_bytes_non_zeroed` | Feoramund | 2025-06-19 | 1 | -1/+1 |
| | | | | | | This was causing the procedure to find a block, then find one again, or to not find a block and not try again. | ||||
| * | Disable usage of AddressSanitizer (pt. 2) | Feoramund | 2025-06-15 | 1 | -4/+4 |
| | | |||||
| * | Merge branch 'master' into fix-2694 | Feoramund | 2025-06-15 | 1 | -20/+56 |
| |\ | |||||
| | * | mem: compat allocator improvements | Laytan Laats | 2025-06-12 | 1 | -20/+56 |
| | | | | | | | | | | | | | | | | | | | 1. store alignment instead of original pointer 2. implement .Query_Info 3. poison the header and alignment portion of the allocation 4. .Resize uses `max(orig_alignment, new_alignment)` as it's alignment now 5. .Free passes along the original alignment | ||||
| * | | Disable usage of AddressSanitizer pending a per-allocator review | Feoramund | 2025-06-15 | 5 | -85/+101 |
| | | | | | | | | | | | | | | | | | | | | | | | 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 | ||||
| * | | mem: Standardize panic messages | Feoramund | 2025-06-15 | 1 | -14/+14 |
| | | | |||||
| * | | mem: Review all documentation comments | Feoramund | 2025-06-15 | 1 | -129/+140 |
| | | | |||||
| * | | mem: Poison memory for `Buddy_Allocator` | Feoramund | 2025-06-15 | 1 | -7/+15 |
| | | | |||||
| * | | mem: Guard against size 0 in `dynamic_arena_resize_*` | Feoramund | 2025-06-15 | 1 | -0/+8 |
| | | | |||||
| * | | mem: Poison memory for `Dynamic_Arena` | Feoramund | 2025-06-15 | 1 | -0/+7 |
| | | | |||||
| * | | mem: Make `dynamic_arena_alloc` not private | Feoramund | 2025-06-15 | 1 | -1/+1 |
| | | | | | | | | | | | None of the other `*_alloc` procs are private, and this proc is even referenced in public documentation comments. | ||||
| * | | mem: Remove bogus comments | Feoramund | 2025-06-15 | 1 | -12/+0 |
| | | | | | | | | | There is no `dynamic_arena_free`; the mode is not implemented | ||||
| * | | mem: Remove comment about calling `panic` | Feoramund | 2025-06-15 | 1 | -1/+0 |
| | | | | | | | | | The behavior is codified in the comment as returning `Invalid_Pointer`. | ||||
| * | | mem: Remove trailing whitespace | Feoramund | 2025-06-15 | 1 | -1/+1 |
| | | | |||||
| * | | mem: Panic when passing invalid pointers to small stack free/resize | Feoramund | 2025-06-15 | 1 | -4/+2 |
| | | | | | | | | | This is consistent with `Stack_Allocator`. | ||||
| * | | mem: Correct wrong error message | Feoramund | 2025-06-15 | 1 | -1/+1 |
| | | | |||||
| * | | mem: Check if `alignment` matches on `Small_Stack` resize | Feoramund | 2025-06-15 | 1 | -0/+10 |
| | | | |||||
| * | | mem: Make `small_stack_resize*` free if `size` is 0 | Feoramund | 2025-06-15 | 1 | -1/+1 |
| | | | |||||
| * | | mem: Clarify what happens when you free out-of-order in a `Small_Stack` | Feoramund | 2025-06-15 | 1 | -1/+4 |
| | | | |||||
| * | | mem: Replace `auto_cast` | Feoramund | 2025-06-15 | 1 | -1/+1 |
| | | | |||||
| * | | mem: Don't unpoison the header of a `Small_Stack` allocation | Feoramund | 2025-06-15 | 1 | -2/+4 |
| | | | |||||
| * | | mem: Poison unused memory more thoroughly | Feoramund | 2025-06-14 | 1 | -0/+3 |
| | | | |||||
| * | | mem: Check if `alignment` matches on `Stack_Allocator` resize | Feoramund | 2025-06-14 | 1 | -0/+10 |
| | | | |||||