| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Change `is_utf16` field to `encoding` and use an enum | gingerBill | 2025-08-05 | 2 | -3/+9 |
| | | |||||
| * | `for in string16`; Support `string16` across core | gingerBill | 2025-08-02 | 1 | -0/+62 |
| | | |||||
| * | Begin supporting `string16` across the core library | gingerBill | 2025-08-02 | 1 | -0/+6 |
| | | |||||
| * | Add `string16` and `cstring16` (UTF-16 based strings) | gingerBill | 2025-08-02 | 3 | -2/+126 |
| | | |||||
| * | Placate linker | Jeroen van Rijn | 2025-07-31 | 1 | -0/+1 |
| | | |||||
| * | Merge pull request #5520 from Mecso2/master | Jeroen van Rijn | 2025-07-31 | 1 | -1/+1 |
| |\ | | | | | fix amd64 no-crt entry assembly | ||||
| | * | fix amd64 no-crt entry assembly | Mecso2 | 2025-07-30 | 1 | -1/+1 |
| | | | |||||
| * | | Remove use of `.no_copy` | gingerBill | 2025-07-30 | 1 | -1/+1 |
| | | | |||||
| * | | Remove the semantics of `#no_copy`, keep the grammar | gingerBill | 2025-07-30 | 1 | -1/+1 |
| |/ | |||||
| * | Merge pull request #5467 from harold-b/hb.ios-subtarget-rename-iphone | gingerBill | 2025-07-20 | 1 | -1/+3 |
| |\ | | | | | Rename `iOS` subtarget to `iPhone`, add `ODIN_PLATFORM_SUBTARGET_IOS` | ||||
| | * | Rename `iOS` subtarget to `iPhone` for consistency. | Harold Brenes | 2025-07-14 | 1 | -1/+3 |
| | | | | | | | | | | | Add `ODIN_PLATFORM_SUBTARGET_IOS` builtin constant which evaluated to `true` when the platform is `Darwin` and the subtarget it either `iPhone` or `iPhoneSimulator` | ||||
| * | | Fix @objc_implement methods not respecting @objc_is_class_method | Harold Brenes | 2025-07-15 | 1 | -0/+1 |
| |/ | | | | Fix incorrect type encoding for objc_class | ||||
| * | Updated iOS/iPhoneSimulator build support | Harold Brenes | 2025-07-13 | 2 | -1/+2 |
| | | |||||
| * | Disable usage of AddressSanitizer pending a per-allocator review | Feoramund | 2025-06-15 | 1 | -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 | ||||
| * | runtime: Remove unneeded `max(0, ...)` | Feoramund | 2025-06-13 | 1 | -2/+2 |
| | | | | | | `len` never returns negative numbers, so this was an overcautious expression. | ||||
| * | Guard against negative `index` in `inject_at` | Feoramund | 2025-06-04 | 1 | -0/+9 |
| | | | | | Fixes #4595 | ||||
| * | Add missing return cast in 'memory_prefix_length' on amd64 avx2 | Matteo | 2025-06-01 | 1 | -1/+1 |
| | | |||||
| * | Vectorize `strings.prefix_length`. | Jeroen van Rijn | 2025-05-31 | 1 | -0/+68 |
| | | | | | Also add `strings.common_prefix`. | ||||
| * | Rename `SIMD_IS_EMULATED` to capability-affirmative `HAS_HARDWARE_SIMD` | Feoramund | 2025-05-29 | 1 | -8/+9 |
| | | |||||
| * | Vectorize `runtime.memory_*` comparison procedures | Feoramund | 2025-05-29 | 1 | -58/+140 |
| | | |||||
| * | Move `simd.IS_EMULATED` to `runtime.SIMD_IS_EMULATED` | Feoramund | 2025-05-29 | 1 | -0/+5 |
| | | |||||
| * | Remove commented block of code | Feoramund | 2025-05-27 | 1 | -59/+0 |
| | | |||||
| * | require the __asan_unpoison_memory_region runtime symbol so empty projects ↵ | Laytan Laats | 2025-05-09 | 1 | -0/+1 |
| | | | | | with asan enabled build | ||||
| * | Merge pull request #5064 from harold-b/hb/objc-classes | gingerBill | 2025-05-08 | 1 | -6/+19 |
| |\ | | | | | Add support for Objective-C class implementation | ||||
| | * | Add initial support for Objective-C class implementation | Harold Brenes | 2025-04-20 | 1 | -6/+19 |
| | | | |||||
| * | | Cleanup | Lucas Perlind | 2025-05-07 | 1 | -3/+1 |
| | | | |||||
| * | | Fix wasi_wasm | Lucas Perlind | 2025-05-06 | 1 | -1/+1 |
| | | | |||||
| * | | Add asan support for various allocators | Lucas Perlind | 2025-05-06 | 3 | -2/+27 |
| |/ | |||||
| * | Change hashing rules for float-like types to make `0 == -0` | gingerBill | 2025-04-16 | 1 | -0/+29 |
| | | |||||
| * | Remove Type_Info_Tuple | Jeroen van Rijn | 2025-04-13 | 1 | -1/+0 |
| | | |||||
| * | Support subtargets in build tags: `#build darwin:generic` and `#build ↵ | gingerBill | 2025-04-10 | 1 | -0/+4 |
| | | | | | linux:android, darwin:ios` | ||||
| * | Fix use of errno on OpenBSD. | Dave Voutila | 2025-03-27 | 1 | -1/+1 |
| | | |||||
| * | Merge pull request #4836 from laytan/fix-wrong-out-of-memory | gingerBill | 2025-03-20 | 1 | -6/+7 |
| |\ | | | | | fix wrong out of memory in edge cases, just try allocate from block for one source of truth | ||||
| | * | fix wrong out of memory in edge cases, just try allocate from block for one ↵ | Laytan Laats | 2025-02-12 | 1 | -6/+7 |
| | | | | | | | | | source of truth | ||||
| * | | Fix #4903 | gingerBill | 2025-03-03 | 1 | -1/+3 |
| | | | |||||
| * | | Add `@(require_results)` to random generator | gingerBill | 2025-02-24 | 1 | -0/+1 |
| | | | |||||
| * | | Fix `typeid` size for 32-bit platforms | gingerBill | 2025-02-20 | 1 | -0/+2 |
| | | | |||||
| * | | Keep -vet happy | gingerBill | 2025-02-20 | 1 | -1/+1 |
| | | | |||||
| * | | Change `typeid` definition to be based around the canonical type hash | gingerBill | 2025-02-20 | 1 | -47/+9 |
| |/ | | | | | | | | `typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type. This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox). Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table. | ||||
| * | Added support for growing in place to some arenas. | Barinzaya | 2025-01-24 | 1 | -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. | ||||
| * | Add `priority_index` to `Foundation.framework` import in `base:runtime` | gingerBill | 2025-01-22 | 1 | -0/+1 |
| | | |||||
| * | fix map_entry sometimes giving wrong key pointer | Laytan Laats | 2025-01-18 | 1 | -10/+27 |
| | | | | | | | | `map_desired_position` does not return the actual position, probing must be done afterwards to figure out the real position. `map_entry` did not do this for the returned key pointer so it could point to the wrong key if probing was done. | ||||
| * | Fix: Issue with non-zeroed memory after arena_temp_and; | alektron | 2025-01-15 | 1 | -1/+2 |
| | | | | | Fix: total_used field of growing Arena was not decremented correctly in arena_temp_end; | ||||
| * | Merge pull request #4599 from Barinzaya/fix_dynamic_resize_zeroing_on_grow | gingerBill | 2025-01-06 | 1 | -3/+5 |
| |\ | | | | | Fix dynamic array not zeroing when growing | ||||
| | * | Fixed zeroing in resize_dynamic_array. | Barinzaya | 2024-12-19 | 1 | -3/+5 |
| | | | | | | | | | | | | | When a dynamic array has unused capacity and is resized to a size greater than its capacity, the unused part of its capacity wasn't being zeroed. | ||||
| * | | Merge pull request #4533 from laytan/map-entry | gingerBill | 2025-01-06 | 2 | -0/+49 |
| |\ \ | | | | | | | add `map_entry` procedure | ||||
| | * | | add `map_entry` procedure | Laytan Laats | 2024-11-28 | 2 | -0/+49 |
| | |/ | |||||
| * | | Merge pull request #4623 from Yawning/feature/rt-assert-ensure | gingerBill | 2025-01-06 | 1 | -0/+29 |
| |\ \ | | | | | | | base/runtime: Add `ensure` and `ensure_contextless` | ||||
| | * | | base/runtime: Add `ensure` and `ensure_contextless` | Yawning Angel | 2024-12-25 | 1 | -0/+29 |
| | |/ | | | | | | | | | | | | | This provides an equivalent to `assert` and `assert_contextless` that are always evaluated, ignoring `ODIN_DISABLE_ASSERT`, which is useful for enforcing API contracts or "asserting" on conditionals with side-effects. | ||||
| * | | fix N=1 and cleanup tests | fleandro | 2025-01-03 | 1 | -6/+6 |
| | | | |||||