DerTee
78c04ca65d
fix assign_at_elems_fixed_capacity_dynamic_array & co
...
copy-paste error: the fixed cap version of resize doesn't take a location
2026-07-10 06:25:17 +02:00
gingerBill
ca3ef41dcf
Fix typo
2026-06-28 13:34:29 +01:00
gingerBill
7da5608121
Add _append_elem_ptr to optimize for append when the element is internally pointer-like
2026-06-28 13:31:49 +01:00
gingerBill
40e54a97ed
Merge branch 'master' into bill/bedrock
2026-06-24 11:07:02 +01:00
gingerBill
c843f3bb65
Optimize append_elem for different optimization levels
...
* For `-o:size` and below, uses the type erased approach
* For `-o:speed` and above, the inlined form is used
This is necessary because a generic `mem_copy_non_overlapping` cannot be optimized when type erasure is used, meaning in a hot path where `append_elem` is used a lot; thus `mem_copy_non_overlapping` becomes a bottleneck.
2026-06-22 12:57:00 +01:00
Sylphrena
0aa85a035f
Added optional allocator error to map_insert
2026-06-13 20:00:02 +02:00
juaumjuaumjuaum
bf2d33f0e5
Swap panic_contextless and unimplemented_contexless documentation
...
They were swaped
2026-06-02 00:00:45 +02:00
gingerBill
1e1f37fcef
n -> num_appended for append return values
2026-05-18 14:33:35 +01:00
Sylphrena
b603e7400f
Fix make_aligned and new_aligned to be builtin
2026-05-11 21:54:31 +02:00
gingerBill
8ffcdf172a
Odin_Calling_Convention defined in compiler; Allow for main :: proc "contextless" () {} with -bedrock; intrinsics.type_proc_calling_convention
2026-05-05 15:07:42 +01:00
gingerBill
ea00291519
Begin work on -bedrock mode
...
Currently disables 128-bit integers, `map` type, and RTTI
2026-05-02 15:06:01 +01:00
Tejas Hegde
d27f34f233
Updated delete_key doc to mention iteration behaviour
2026-03-30 19:29:52 +10:30
WojtaZam
1f9f2dc0da
fix Error: Missing return statement at the end of the procedure pop_fixed_capacity_dynamic_array
2026-03-17 20:19:46 +01:00
Shane Shrybman
af2d8ca679
FCD array proc group add _elems
2026-03-15 21:45:44 -04:00
gingerBill
ad1a10b8af
use intrinsics.mem_copy instead of a for-loop
2026-03-15 11:48:49 +00:00
gingerBill
310def1e71
Fix append_fixed_capacity_elems
2026-03-15 11:42:24 +00:00
gingerBill
c6772dfd06
Merge branch 'master' into bill/fixed-capacity-dynamic-array
2026-03-15 11:41:01 +00:00
Jeroen van Rijn
27667ce36b
iff -> if and only if (⟺)
2026-03-13 11:54:15 +01:00
gingerBill
c7308d86d4
Fix tests as they are not direct matches to small_array
2026-03-12 17:33:54 +00:00
gingerBill
26eb58b589
Move raw closer to usage
2026-03-12 17:03:07 +00:00
gingerBill
6c61b1d46c
Remove loc being passed
2026-03-12 16:59:58 +00:00
gingerBill
fac8471019
Fix typos
2026-03-12 16:59:11 +00:00
gingerBill
6e9d6bfbe5
Fixed tests
2026-03-12 16:55:46 +00:00
gingerBill
6a03cf5d68
Add "remove" procedures to fixed capacity dynamic arrays
2026-03-12 09:40:31 +00:00
gingerBill
535b70b82e
Add other @builtin procedures for fixed capacity dynamic arrays
2026-03-12 09:37:27 +00:00
gingerBill
f1dbe9c242
[dynamic; N]T proof of concept: fixed capacity dynamic array (akin to small_array.Small_Array(N, T))
2026-03-11 16:46:33 +00:00
Gavin Rohrer
93b1e97402
fix documentation of assign_at
2026-03-07 10:07:15 -05:00
Shane Shrybman
a0c375dd02
A small optimization for dynamic arrays.
...
Move assert(a.allocator.procedure != nil) out of the common path into the if check
2026-02-23 11:21:07 -05:00
Laytan
792e6c75ee
Merge branch 'master' into nbio
2026-01-13 21:29:41 +01:00
Faker-09
9d72025a0b
Remove duplicate assingment of array.allocator = allocator in _make_dynamic_array_len_cap(...) ( #6095 )
2026-01-13 21:25:17 +01:00
Laytan Laats
d1fa640549
runtime: use alloc_non_zeroed in new_clone; zeroing is not needed
2026-01-11 20:21:25 +01:00
Sylphrena
205bead9d2
Add @builtin to missing builtin procedure group procs
2025-12-19 15:57:25 +01:00
gingerBill
d343afbad5
Improve core_builtin.odin docs
2025-10-07 10:34:48 +01:00
gingerBill
9b4c0ea492
Type erase the internals of runtime.copy_*
2025-09-29 15:12:55 +01:00
gingerBill
286e3eafe6
Change inlining semantics for some builtin calls
2025-09-25 08:55:03 +01:00
gingerBill
4d2854f561
Merge pull request #5632 from kalsprite/x386
...
windows i386 support
2025-09-18 22:01:14 +01:00
gingerBill
9cf69576ab
More improvements to minimize code gen size
2025-09-18 20:58:24 +01:00
gingerBill
3954491393
Type erasure to minimize code generation size
2025-09-18 15:54:05 +01:00
Jon Lipstate
57bc45ae30
revert to working build
2025-09-03 22:51:28 -07:00
Jon Lipstate
e0c4c53362
add tls when we have crt
2025-09-03 22:32:33 -07:00
Jon Lipstate
231ce2da59
windows i386 support
2025-08-29 12:41:38 -07:00
Harold Brenes
9d8e15b3af
Implementes the block ABI.2010.3.16 natively via the objc_block intrinsic and the Objc_Block builtin type.
...
See: https://clang.llvm.org/docs/Block-ABI-Apple.html
2025-08-06 20:27:31 -04:00
gingerBill
2561427dd3
Add string16 and cstring16 (UTF-16 based strings)
2025-08-02 11:00:15 +01:00
Feoramund
61f9fb7232
runtime: Remove unneeded max(0, ...)
...
`len` never returns negative numbers, so this was an overcautious
expression.
2025-06-13 12:09:10 -04:00
Feoramund
91111937a7
Guard against negative index in inject_at
...
Fixes #4595
2025-06-04 13:58:06 -04:00
gingerBill
98efb03934
Merge pull request #4599 from Barinzaya/fix_dynamic_resize_zeroing_on_grow
...
Fix dynamic array not zeroing when growing
2025-01-06 12:37:05 +00:00
gingerBill
a6f1046fc0
Merge pull request #4533 from laytan/map-entry
...
add `map_entry` procedure
2025-01-06 12:36:27 +00:00
Yawning Angel
3a5440e4ed
base/runtime: Add ensure and ensure_contextless
...
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.
2024-12-25 00:08:09 +09:00
Barinzaya
5f46b5ca50
Fixed zeroing in resize_dynamic_array.
...
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.
2024-12-19 17:52:09 -05:00
Laytan Laats
8050622fe6
add map_entry procedure
2024-11-28 20:07:54 +01:00