| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Typo in description of mem.ptr_sub. | Daniel Troszczyński | 2025-10-30 | 1 | -2/+2 |
| | | |||||
| * | int | Jeroen van Rijn | 2025-05-27 | 1 | -1/+1 |
| | | |||||
| * | Fix example | Jeroen van Rijn | 2025-05-27 | 1 | -1/+1 |
| | | |||||
| * | ptr_sub prose clarification | Jeroen van Rijn | 2025-05-27 | 1 | -5/+25 |
| | | |||||
| * | Add `mem.make_over_aligned` | gingerBill | 2025-03-31 | 1 | -1/+1 |
| | | |||||
| * | Fix indentation | gingerBill | 2025-03-31 | 1 | -21/+20 |
| | | |||||
| * | General clean up of code | gingerBill | 2025-01-01 | 1 | -8/+1 |
| | | |||||
| * | Missing paren. | Jeroen van Rijn | 2024-11-03 | 1 | -1/+1 |
| | | |||||
| * | `mem.is_aligned` is in bytes, not log2 bytes | Jeroen van Rijn | 2024-11-03 | 1 | -1/+3 |
| | | | | | Fix formula and clarify comment | ||||
| * | [mem]: Adjust the docs for calc_padding_with_header | flysand7 | 2024-09-14 | 1 | -4/+20 |
| | | |||||
| * | [mem]: Fix handling of default resize to check alignment | flysand7 | 2024-09-11 | 1 | -0/+11 |
| | | |||||
| * | Fix typo | flysand7 | 2024-09-08 | 1 | -1/+1 |
| | | | | Co-authored-by: FourteenBrush <74827262+FourteenBrush@users.noreply.github.com> | ||||
| * | [mem]: Fix the issue with unbranched version of ptr align | flysand7 | 2024-09-07 | 1 | -1/+1 |
| | | |||||
| * | [mem]: Document mem.odin | flysand7 | 2024-09-07 | 1 | -44/+404 |
| | | |||||
| * | [mem]: Code formatting | flysand7 | 2024-09-07 | 1 | -8/+8 |
| | | |||||
| * | Minimize code duplication in `core:mem` by using the `base:runtime` calls | gingerBill | 2024-04-03 | 1 | -0/+2 |
| | | |||||
| * | Replace `core:*` to `base:*` where appropriate | gingerBill | 2024-01-28 | 1 | -2/+2 |
| | | |||||
| * | Add formatting of bytes into the best unit of measurement | Laytan Laats | 2023-09-01 | 1 | -0/+2 |
| | | |||||
| * | Add missing `Allocator_Error` and `@(require_results)` to many procedures | gingerBill | 2023-05-22 | 1 | -0/+28 |
| | | |||||
| * | Replaced opaque bit-shifts with readable constants for memory units | hikari | 2022-12-24 | 1 | -5/+5 |
| | | |||||
| * | Unify mem and runtime logic | gingerBill | 2022-08-26 | 1 | -42/+1 |
| | | |||||
| * | Add `fmt:"s,0"` to allow arrays and multi-pointers to be printed with NUL ↵ | gingerBill | 2022-06-12 | 1 | -0/+6 |
| | | | | | termination | ||||
| * | Remove `strings` dependency from `core:sys/windows` | gingerBill | 2022-06-02 | 1 | -1/+1 |
| | | |||||
| * | Add a return value to `mem.zero_item` and `mem.zero_slice` which is the same ↵ | gingerBill | 2022-05-17 | 1 | -2/+4 |
| | | | | | as the input | ||||
| * | Merge pull request #1696 from Despacito696969/master | gingerBill | 2022-04-16 | 1 | -1/+1 |
| |\ | | | | | Fix for `slice_to_components` compilation error | ||||
| | * | Fix for `slice_to_components` | Despacito696969 | 2022-04-05 | 1 | -1/+1 |
| | | | | | | | Using `slice_to_components` wouldn't compile because `s.data` is type of `rawptr` and return type is `^T` | ||||
| * | | mem: replace size procedures with constants | hikari | 2022-04-06 | 1 | -5/+6 |
| |/ | |||||
| * | Change `intrinsics.Atomic_Memory_Order` fields to use `Ada_Case` rather than ↵ | gingerBill | 2022-03-31 | 1 | -1/+1 |
| | | | | | `snake_case` | ||||
| * | Update core to use new atomic intrinsics | gingerBill | 2022-03-31 | 1 | -1/+1 |
| | | |||||
| * | core/mem: Add zero_explicit | Yawning Angel | 2021-10-31 | 1 | -0/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | This call is intended to provide the ability to securely scrub memory without compiler interference, in a similar manner to explicit_bzero, memset_s, SecureZeroMemory. The approach taken is a volatile memset followed by a seqentially consistent memory fence, to prevent the call from being optimized away by DSE, and from being reordered. An identical approach is currently being used by the zeroize Rust crate, and is effective in practice. LLVM IR output: ``` ; Function Attrs: nounwind define internal i8* @mem.zero_explicit(i8* %0, i64 %1) #0 { decls: call void @llvm.memset.p0i8.i64(i8* %0, i8 0, i64 %1, i1 true) fence seq_cst ret i8* %0 } ``` | ||||
| * | Improve internal procedures | gingerBill | 2021-10-25 | 1 | -8/+2 |
| | | |||||
| * | Remove assert from `mem.ptr_to_bytes`. Fixes #1206 | Jeroen van Rijn | 2021-10-05 | 1 | -1/+0 |
| | | |||||
| * | Make `runtime.memset` use `int` for the length from `uint` | gingerBill | 2021-09-23 | 1 | -1/+1 |
| | | |||||
| * | Minor improvements to mem.odin | gingerBill | 2021-09-11 | 1 | -5/+8 |
| | | |||||
| * | Fix typo | gingerBill | 2021-09-10 | 1 | -1/+1 |
| | | |||||
| * | Add other constants to c and libc | gingerBill | 2021-09-10 | 1 | -1/+1 |
| | | |||||
| * | Unify `memset` usage across platforms and `core:c/libc` | gingerBill | 2021-09-10 | 1 | -8/+1 |
| | | |||||
| * | libc changes: unify c and libc types; Add `[^]T` where appropriate | gingerBill | 2021-09-10 | 1 | -2/+9 |
| | | |||||
| * | Strip semicolons in core which were missing | gingerBill | 2021-09-08 | 1 | -1/+4 |
| | | |||||
| * | Correct "contextless" stuff in mem | gingerBill | 2021-09-08 | 1 | -13/+12 |
| | | |||||
| * | Make many `mem` procedures `"contextless"` | gingerBill | 2021-09-08 | 1 | -41/+44 |
| | | |||||
| * | Strip even more semicolons if followed by a `}` or `)` on the same line | gingerBill | 2021-08-31 | 1 | -4/+4 |
| | | |||||
| * | Remove unneeded semicolons from the core library | gingerBill | 2021-08-31 | 1 | -101/+101 |
| | | |||||
| * | Correct `mem.clone_slice` | gingerBill | 2021-08-23 | 1 | -2/+2 |
| | | |||||
| * | Remove deprecated procedure `slice_ptr_to_bytes` | gingerBill | 2021-08-22 | 1 | -5/+0 |
| | | |||||
| * | Use multi-pointers when appropriate | gingerBill | 2021-08-22 | 1 | -4/+3 |
| | | |||||
| * | Rename `mem.reinterpret` to `mem.reinterpret_copy` | gingerBill | 2021-08-20 | 1 | -1/+1 |
| | | |||||
| * | Add `mem.reinterpret` | gingerBill | 2021-08-20 | 1 | -0/+4 |
| | | |||||
| * | Mark mem.slice_ptr_to_bytes as deprecated. | Jeroen van Rijn | 2021-05-06 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | Use byte_slice instead. We can't make it an alias *and* mark it as deprecated, regrettably: ```odin byte_slice :: #force_inline proc "contextless" (data: rawptr, len: int) -> []byte { return transmute([]u8)Raw_Slice{data=data, len=max(len, 0)}; } @(deprecated="use byte_slice") slice_ptr_to_bytes :: byte_slice; "mem.odin(145:1) Constant alias declarations cannot have attributes" ``` | ||||
| * | Fix #906 | gingerBill | 2021-04-20 | 1 | -5/+6 |
| | | |||||