aboutsummaryrefslogtreecommitdiff
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused variablebill/conditional-zerogingerBill2025-09-271-1/+0
|
* Add `runtime.conditional_mem_zero` to improve `heap_allocator` performance ↵gingerBill2025-09-272-4/+56
| | | | on non-Windows systems
* Change inlining semantics for some builtin callsgingerBill2025-09-252-14/+14
|
* Merge pull request #5632 from kalsprite/x386gingerBill2025-09-182-2/+19
|\ | | | | windows i386 support
| * revert to working buildJon Lipstate2025-09-031-2/+2
| |
| * add tls when we have crtJon Lipstate2025-09-031-2/+2
| |
| * windows i386 supportJon Lipstate2025-08-292-2/+19
| |
* | More improvements to minimize code gen sizegingerBill2025-09-182-7/+18
| |
* | Type erasure to minimize code generation sizegingerBill2025-09-181-14/+21
| |
* | Add require_results attr to procs returning an allocatorDamian Tarnawski2025-09-025-1/+7
|/
* Add missing test attr and don't zero memory when reserve already didDamian Tarnawski2025-08-261-8/+7
|
* Merge branch 'master' into soa-resize-zero-memorygingerBill2025-08-261-5/+67
|\
| * Cleanup soa resize logic—reduce nestingDamian Tarnawski2025-08-241-32/+32
| |
| * 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.
* Merge pull request #5547 from harold-b/hb.objc_block_intrinsicgingerBill2025-08-073-1/+17
|\ | | | | Implements the Apple block ABI.2010.3.16 natively via `objc_block` intrinsic
| * Implementes the block ABI.2010.3.16 natively via the `objc_block` intrinsic ↵Harold Brenes2025-08-063-1/+17
| | | | | | | | | | | | and the `Objc_Block` builtin type. See: https://clang.llvm.org/docs/Block-ABI-Apple.html
* | Add `intrinsics.type_canonical_name`gingerBill2025-08-071-0/+3
|/
* 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-022-0/+7
|
* 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
|/
* switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, ↵Colin Davidson2025-07-291-2/+1
| | | | trap on invalid arch
* use the correct frequency for the arm tsc timerColin Davidson2025-07-281-0/+3
|
* Merge pull request #5442 from jon-lipstate/table_lookupgingerBill2025-07-221-0/+1
|\ | | | | table lookup simd intrinsic
| * rename table_lookup to runtime_swizzleJon Lipstate2025-07-161-1/+1
| |
| * table lookup intrinsicJon Lipstate2025-07-051-0/+1
| |
* | Merge pull request #5467 from harold-b/hb.ios-subtarget-rename-iphonegingerBill2025-07-202-2/+4
|\ \ | | | | | | Rename `iOS` subtarget to `iPhone`, add `ODIN_PLATFORM_SUBTARGET_IOS`
| * | Rename `iOS` subtarget to `iPhone` for consistency.Harold Brenes2025-07-142-2/+4
| | | | | | | | | | | | | | | 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-133-2/+3
| |
* | Add note on sparse vs contiguousFourteenBrush2025-07-111-1/+2
| |
* | Rephrasing for constantsFourteenBrush2025-07-111-1/+1
| |
* | Add type_enum_is_contiguous intrinsicFourteenBrush2025-07-111-0/+3
|/
* 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