gingerBill
9187b7acfc
Remove map_cell_index_dynamic_const; Re-insert entries directly when growing/shrinking a map
2026-10-03 17:34:16 +01:00
gingerBill
2a57037287
Add map_erase_static and use when compiling for optimizations
2026-10-03 17:13:31 +01:00
gingerBill
1ad14bb824
Change how a map gets seeded with a folded multiply of the address as the seed instead
2026-10-03 17:06:42 +01:00
gingerBill
85f02a8304
Hash string and cstring map keys a word at a time with default_hasher_fixed
2026-10-03 16:50:33 +01:00
gingerBill
70f6767776
Make lb_map_set_proc_for_type prefer to go through the runtime for unoptimized builds
2026-10-03 16:15:59 +01:00
gingerBill
d783e8b1f6
Inline more of the code in default_hasher_fixed
2026-10-03 15:16:25 +01:00
gingerBill
24ff27e6c8
Hash fixed-size map keys a "word" at a time with default_hasher_fixed
2026-10-03 15:09:56 +01:00
gingerBill
80dd40add7
Replace the division in map_cell_index_dynamic with a reciprocal multiply trick
2026-10-03 13:46:29 +01:00
gingerBill
b153d6071c
Support bit_set[E; [4]u64] style types
2026-09-29 12:17:02 +01:00
Michael Lehenauer
39d00f6ee4
Fix Windows AMD64 no-CRT stack probe support
2026-09-22 20:32:58 +02:00
thomasefbland
315725197f
fix _stderr_write in os_specific_js and os_specific_wasi to use fd 2 instead of fd 1
2026-09-13 14:05:51 -04:00
gingerBill
780d59cce6
Keep -vet happy
2026-09-02 11:50:01 +01:00
gingerBill
4b9ca012d2
Fix misaligned runtime.Memory_Block base for 32-byte alignments
2026-09-02 11:48:23 +01:00
Jeroen van Rijn
b96693446e
Also fix the single elem branch to actually increase footer.len for size_of(E) == 0
2026-09-01 22:56:12 +02:00
Jeroen van Rijn
06c145c220
Fix #7488
...
Fixes #7488
2026-09-01 22:27:46 +02:00
gingerBill
9870cd4c36
Merge pull request #7271 from odin-lang/bill/inline-asm
...
`asm` templates
2026-08-18 19:19:40 +02:00
gingerBill
a86e523053
Allow for inlineable asm calls
2026-08-18 14:57:34 +01:00
gingerBill
0bc9e60725
Use new inline asm for __chkstk on Windows AMD64
2026-08-18 14:44:59 +01:00
gingerBill
645b57be9f
Merge pull request #7327 from kalsprite/abi_conformance
...
ABI Conformance Harness + Fixes
2026-08-17 16:28:01 +02:00
Jeroen van Rijn
c63561b700
Also restore codepage on trap.
2026-08-16 17:50:49 +02:00
Jeroen van Rijn
7f532cad14
Add -define:ODIN_CODEPAGE_MAGIC=false opt-out to the runtime
2026-08-16 17:01:41 +02:00
Jeroen van Rijn
0b7b8ba4a2
Set console codepage to utf-8 (on Windows), and restore old one on exit
...
Avoid mojibake.
2026-08-16 16:16:35 +02:00
KBS
e62ed261c5
base/runtime: do not free the original block on a failed heap resize
...
`base/runtime`: do not free the original block on a failed heap resize
The default heap allocator freed old_ptr when the underlying allocation
failed (allocated_mem == nil). On the realloc path (heap_resize) the original
block is left intact on failure, and on the copy/fresh path old_ptr has not
been copied or freed yet, so freeing it left the caller holding a dangling
pointer. A [dynamic] array whose resize failed therefore double-freed its
data on the next delete (reported as free(): invalid pointer / use-after-free).
Return .Out_Of_Memory without freeing anything; the caller retains ownership
of the original block.
Fixes #7262
2026-08-16 12:54:16 +02:00
kalsprite
ee033f7ee8
arm32 float linkage
2026-08-14 18:25:12 -07:00
Jeroen van Rijn
ea0b476c1f
Add compiler-rt license info
2026-08-12 19:19:51 +02:00
Mihail Moskov
8329f59edc
comma in where to satisfy the vet cerberus :)
2026-08-12 19:50:28 +03:00
Mihail Moskov
6a81351de3
fixes float to 128-bit int/uint conversion
2026-08-12 19:25:46 +03:00
gingerBill
3dc7016a4e
Merge pull request #7290 from corleypc/soa-add-pop
...
Adds the pop family of procedures for soa arrays
2026-08-12 13:46:26 +02:00
Mihail Moskov
639606ae63
fixes non_zero_append_elem_fixed_capacity_string
2026-08-12 14:06:21 +03:00
Mihail Moskov
8c23c01c71
minor wording tweaks
2026-08-11 15:30:00 +03:00
Mihail Moskov
9e73c20197
adds the pop procedure family for soa arrays
2026-08-11 15:21:23 +03:00
Simon Branch
8f4f92db8f
Fix runtime quaternion division
...
The runtime implementations of quaternion division are incorrect when
calculating q/r with nonzero jmag(r) and either nonzero imag(q) or
kmag(q). Notably, the inverse 1/r is still calculated correctly
because imag(1) = kmag(1) = 0.
The mistake can be verified by calculating (a/b)*b which will be very
different from both a and a * (1/b) * b.
The compile-time constant folding is correct, see exact_value.cpp
in function exact_binary_operator_value -> ExactValue_Quaternion ->
Token_Quo.
quo256 :: proc(q, r: quaternion256) -> quaternion256 { return q/r }
a: quaternion256 : 3 + 5i + 7j + 11k
b: quaternion256 : 2 + 7i + 3j + 5k
c: quaternion256 : a/b
fmt.println("comp", abs((c*b) - a))
fmt.println("run ", abs(quo256(a,b)*b - a))
// both values should be very close to zero;
// without fix, only the first is
2026-08-05 20:43:50 -07:00
Jeroen van Rijn
9caff6370f
Typo
2026-08-05 19:02:35 +02:00
Jeroen van Rijn
c24708defc
Fix typo in chacha8rand_refill_simd128
2026-08-05 00:14:53 +02:00
corley
478ecf130f
another useless comment removed
2026-08-03 23:45:44 +03:00
corley
c720ee5353
cleans up obsolete comments
2026-08-03 23:26:44 +03:00
gingerBill
23b45391d2
Merge pull request #7149 from corleypc/no-alias-dyn-arrays
...
Annotates the array parameter of dynamic array builtins with #no_alias
2026-08-03 15:43:03 +02:00
gingerBill
319143e4b7
Minor style cleanup
2026-08-03 14:42:44 +01:00
gingerBill
9914a57fc7
Add intrinsics.soa_copy_from_slice and use it within _append_soa_elems replacing the old handwritten unrolled approach
2026-08-03 14:41:04 +01:00
corley
439edc5fa8
make soa builtins go vroom
2026-08-03 02:32:09 +03:00
Sylphrena
64f27153cc
Follow up fix of map shrink
2026-08-01 13:30:34 +02:00
Sylphrena
17e23a8bcf
Shrink map to minimum capacity with shrink
2026-07-29 15:20:50 +02:00
corley
75335afd04
#no_alias added to the array parameter of dynamic array builtins
2026-07-29 03:00:29 +03:00
corley
e8ab8455dc
fixes growth check for soa dynamic arrays
2026-07-27 22:46:22 +03:00
corley
b821619325
fixes soa dynamic arrays not zeroing all elements after shrink + grow
2026-07-21 23:47:03 +03:00
corley
d1fd585b55
fix for map reported capacity incorrect after shrinking
2026-07-20 21:33:46 +03:00
zippylolz
05b42e518a
docs: closes markdown table header for runtime package overview documentation
2026-07-18 10:31:17 -04:00
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