aboutsummaryrefslogtreecommitdiff
path: root/base/runtime
Commit message (Collapse)AuthorAgeFilesLines
...
| * Handle nil old data caseDamian Tarnawski2025-08-241-41/+48
| |
| * Always use .Resize_Non_Zeroed in _reserve_soaDamian Tarnawski2025-08-231-1/+1
| |
| * Avoid overlap issues when correcting memory after resize in _reserve_soaDamian Tarnawski2025-08-231-5/+14
| |
| * Only zero memory when requestedDamian Tarnawski2025-08-231-9/+9
| |
| * Support using allocator resize in `_reserve_soa` (fixes #5615)Damian Tarnawski2025-08-231-5/+51
| |
* | Zero existing memory when using resize_soa (fixes #5614)Damian Tarnawski2025-08-231-0/+24
|/
* Fix stride in `memory_equal/compare_zero` giving false positvesblob18072025-08-211-4/+4
| | | | The previous stride of 8 assumed `uintptr` size is 8 which isn't the case on 32bit & wasm64p32. Skipping every other set of 4 bytes
* fix: throwing away the last generated byte in default_random_generator_procXotchkass2025-08-141-1/+1
|
* Merge pull request #5558 from odin-lang/bill/init-fini-changesgingerBill2025-08-105-10/+20
|\ | | | | `@(init)` & `@(finit)` Changes.
| * `contextless` fixes for `js`gingerBill2025-08-081-2/+2
| |
| * Require `@(init)` and `@(fini)` to be `proc "contextless" ()`gingerBill2025-08-084-8/+18
| |
* | Update runtime doc fileSunagatov Denis2025-08-082-180/+244
|/ | | | | | | | | | | | | | | | | | | | This updates and reformats the doc file for the runtime package. The list of things that need to be implemented for a compiler runtime to work has been updated in accordance with recent changes to runtime (notably `cstring16` and `string16` types and `#load_directory`). Some copy-paste errors around string-comparison procedures have been fixed. The file has been renamed to `doc.odin` as per convention, the comment has been moved to the top of the package declaration and the comment is now markdown-formatted. Also wrote down a little map to maybe slightly help with understanding navigation within package runtime's files and added a few more explanations as to why that list of declarations exists and how to use it. The list of declarations has been detailed to some degree, explaining under what conditions the declarations are required.
* Implementes the block ABI.2010.3.16 natively via the `objc_block` intrinsic ↵Harold Brenes2025-08-062-1/+16
| | | | | | and the `Objc_Block` builtin type. See: https://clang.llvm.org/docs/Block-ABI-Apple.html
* Change `is_utf16` field to `encoding` and use an enumgingerBill2025-08-052-3/+9
|
* `for in string16`; Support `string16` across coregingerBill2025-08-021-0/+62
|
* Begin supporting `string16` across the core librarygingerBill2025-08-021-0/+6
|
* Add `string16` and `cstring16` (UTF-16 based strings)gingerBill2025-08-023-2/+126
|
* Placate linkerJeroen van Rijn2025-07-311-0/+1
|
* Merge pull request #5520 from Mecso2/masterJeroen van Rijn2025-07-311-1/+1
|\ | | | | fix amd64 no-crt entry assembly
| * fix amd64 no-crt entry assemblyMecso22025-07-301-1/+1
| |
* | Remove use of `.no_copy`gingerBill2025-07-301-1/+1
| |
* | Remove the semantics of `#no_copy`, keep the grammargingerBill2025-07-301-1/+1
|/
* Merge pull request #5467 from harold-b/hb.ios-subtarget-rename-iphonegingerBill2025-07-201-1/+3
|\ | | | | Rename `iOS` subtarget to `iPhone`, add `ODIN_PLATFORM_SUBTARGET_IOS`
| * Rename `iOS` subtarget to `iPhone` for consistency.Harold Brenes2025-07-141-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_methodHarold Brenes2025-07-151-0/+1
|/ | | | Fix incorrect type encoding for objc_class
* Updated iOS/iPhoneSimulator build supportHarold Brenes2025-07-132-1/+2
|
* 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
* runtime: Remove unneeded `max(0, ...)`Feoramund2025-06-131-2/+2
| | | | | `len` never returns negative numbers, so this was an overcautious expression.
* Guard against negative `index` in `inject_at`Feoramund2025-06-041-0/+9
| | | | Fixes #4595
* Add missing return cast in 'memory_prefix_length' on amd64 avx2Matteo2025-06-011-1/+1
|
* Vectorize `strings.prefix_length`.Jeroen van Rijn2025-05-311-0/+68
| | | | Also add `strings.common_prefix`.
* Rename `SIMD_IS_EMULATED` to capability-affirmative `HAS_HARDWARE_SIMD`Feoramund2025-05-291-8/+9
|
* Vectorize `runtime.memory_*` comparison proceduresFeoramund2025-05-291-58/+140
|
* Move `simd.IS_EMULATED` to `runtime.SIMD_IS_EMULATED`Feoramund2025-05-291-0/+5
|
* Remove commented block of codeFeoramund2025-05-271-59/+0
|
* require the __asan_unpoison_memory_region runtime symbol so empty projects ↵Laytan Laats2025-05-091-0/+1
| | | | with asan enabled build
* Merge pull request #5064 from harold-b/hb/objc-classesgingerBill2025-05-081-6/+19
|\ | | | | Add support for Objective-C class implementation
| * Add initial support for Objective-C class implementationHarold Brenes2025-04-201-6/+19
| |
* | CleanupLucas Perlind2025-05-071-3/+1
| |
* | Fix wasi_wasmLucas Perlind2025-05-061-1/+1
| |
* | Add asan support for various allocatorsLucas Perlind2025-05-063-2/+27
|/
* Change hashing rules for float-like types to make `0 == -0`gingerBill2025-04-161-0/+29
|
* Remove Type_Info_TupleJeroen van Rijn2025-04-131-1/+0
|
* Support subtargets in build tags: `#build darwin:generic` and `#build ↵gingerBill2025-04-101-0/+4
| | | | linux:android, darwin:ios`
* Fix use of errno on OpenBSD.Dave Voutila2025-03-271-1/+1
|
* Merge pull request #4836 from laytan/fix-wrong-out-of-memorygingerBill2025-03-201-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 Laats2025-02-121-6/+7
| | | | | | | | source of truth
* | Fix #4903gingerBill2025-03-031-1/+3
| |
* | Add `@(require_results)` to random generatorgingerBill2025-02-241-0/+1
| |
* | Fix `typeid` size for 32-bit platformsgingerBill2025-02-201-0/+2
| |