Commit Graph

15270 Commits

Author SHA1 Message Date
gingerBill
accdd7c2af Fix atomics for tuples dev-2025-08 2025-08-05 12:31:57 +01:00
gingerBill
a675784999 Merge branch 'master' of https://github.com/odin-lang/Odin 2025-08-05 12:28:24 +01:00
gingerBill
7f194080e6 Fix possible race condition with struct offsets 2025-08-05 12:28:18 +01:00
Laytan
b022c020f3 Merge pull request #5540 from jared-cone/fix-windows-delete-after-free
Fixed delete-after-free in file_windows.odin
2025-08-05 07:10:23 +02:00
Laytan
8e354a2afd Merge pull request #5539 from Jack-Punter/fix-spall-scoped-event-with-autotracing
Adds @(no_instrumentation) to spall buffer and SCOPED operations
2025-08-05 07:10:12 +02:00
Jared Cone
b1cda52fd6 Fixed delete-after-free in file_windows.odin 2025-08-04 19:42:23 -07:00
Jack Punter
45e4ce5d44 Adds @(no_instrumentation) to spall buffer and SCOPED operations
Currently without this scoped event names are not displaying correctly when auto-tracing is enabled.
The buffer_destroy event, obviously, fails to be completed (as theres no buffer to write the end event to, and context_destroy should happen after all the buffers are destroyed so there's, again, no buffers to write to.
2025-08-04 23:15:16 +01:00
gingerBill
c910b5e583 Add intrinsics.type_is_nearly_simple_compare 2025-08-04 12:13:30 +01:00
gingerBill
4fac64afd4 Merge pull request #5531 from laytan/thread-stack-size-rlimit
thread: set stack size to rlimit
2025-08-02 14:58:33 +01:00
Laytan Laats
25389ed086 thread: set stack size to rlimit 2025-08-02 15:22:23 +02:00
Laytan
710203eadb Merge pull request #5505 from RoboMage/sdl2_audio_bitset
SDL2 - AudioAllowChangeFlags bit_set
2025-08-01 23:46:26 +02:00
Laytan
a7a6216e08 Merge pull request #5510 from taylormck/add-cgltf-enums
add cgltf filter type and wrap mode enums
2025-08-01 23:46:13 +02:00
Laytan
d343b93ef2 fix check 2025-08-01 20:31:53 +02:00
Laytan
20318e7a3b concrete types to make llvm 14 happy
Fixes #5463
Fixes #5244
Fixes #5435
2025-08-01 19:27:28 +02:00
Laytan
d0890c2135 fix dropping part of particular vecs 2025-08-01 19:18:43 +02:00
gingerBill
3eb9c5fa65 Merge pull request #5525 from Barinzaya/xxh3-simd
`core:hash/xxhash`: Static SIMD Support for XXH3
2025-08-01 16:22:29 +01:00
gingerBill
ab866653a8 Merge pull request #5526 from laytan/fixes-for-vector-abi
amd64 abi fixes regarding vectors
2025-08-01 16:21:44 +01:00
Barinzaya
4ef7ed1cbd Skip bounds checking on the inner accumulate loop.
This helps performance with SSE (somewhat) and AVX-512 (quite a bit),
but not AVX2 for some reason.
2025-07-31 16:51:42 -04:00
Laytan
5527982c20 fix vec offset calculation 2025-07-31 22:01:17 +02:00
Laytan
f32ee28e6d amd64 support half in the abi too 2025-07-31 20:50:46 +02:00
Laytan
c3bae964d0 amd64 abi fixes regarding vectors
- Fixes the code so SSEUp is grouped/skipped over properly (Fixes #5429)
- Fixes f16 vectors using garbage widths, because it would call
LLVMGetIntTypeWidth and an f16 is not an int so doesn't have that
function
2025-07-31 20:26:22 +02:00
Barinzaya
f61dc7d071 Remove favor_size attributes inhibiting SIMD optimizations.
This makes a tremendous (2x with SSE2, 3x with AVX2) difference on big
datasets on my system, but this may be hardware-dependent (e.g.
instruction cache sizes).

Naturally, this also results in somewhat larger code for the large-data
case (~75% larger).
2025-07-31 13:05:10 -04:00
Barinzaya
2f8b390c19 Various minor changes in XXH3.
This includes various minor things that didn't seem right or could be
improved, including:
- XXH3_state is documented to have a strict alignment requirement of 64
  bytes, and thus came with a disclaimer not to use `new` because it
  wouldn't be aligned correctly. It now has an `#align(64)` so that it
  will.
- An _internal proc being marked #force_no_inline (every other one is
  #force_inline)
- Unnecessarily casting the product of two u32s through u128 (and
  ultimately truncating to u64 anyway)
2025-07-31 13:05:10 -04:00
Barinzaya
9d40f371be Add static SIMD support to XXH3 in core:hash/xxhash.
This uses compile-time features to decide how large of a SIMD vector to
use. It currently has checks for amd64/i386 to size its vectors for
SSE2/AVX2/AVX512 as necessary.

The generalized SIMD functions could also be useful for multiversioning
of the hash procs, to allow for run-time dispatch based on available CPU
features.
2025-07-31 13:05:08 -04:00
Jeroen van Rijn
393e00bec3 Placate linker 2025-07-31 16:40:40 +02:00
Jeroen van Rijn
a41500de28 Merge pull request #5520 from Mecso2/master
fix amd64 no-crt entry assembly
2025-07-31 16:38:21 +02:00
gingerBill
077ba0b6cb Merge pull request #5513 from colrdavidson/spall_v3
update to spall format v3
2025-07-31 12:37:09 +01:00
gingerBill
9b8223dd69 Remove use of .no_copy 2025-07-30 23:19:14 +01:00
gingerBill
6a10cfdc30 Fix typo 2025-07-30 23:15:14 +01:00
gingerBill
a2e7a62a26 Add virtual.new_clone 2025-07-30 23:14:53 +01:00
gingerBill
7057fc8dfc Remove the semantics of #no_copy, keep the grammar 2025-07-30 23:14:29 +01:00
gingerBill
aa6a749804 Improve atomic logic for sync.Wait_Group 2025-07-30 23:11:18 +01:00
Colin Davidson
3e10684630 adjust scale with new format, fix segfault for auto-trace 2025-07-30 14:09:50 -07:00
Colin Davidson
7720a32120 Merge remote-tracking branch 'live/master' into spall_v3 2025-07-30 12:51:56 -07:00
Mecso2
e54bf24746 fix amd64 no-crt entry assembly 2025-07-30 12:44:53 +02:00
Laytan
939fed592d Merge pull request #5517 from colrdavidson/freq_hotfix
fix x86 osx build
2025-07-30 06:22:25 +02:00
Colin Davidson
b5a8a3cf94 require to reduce files for a one line function 2025-07-29 13:58:30 -07:00
Colin Davidson
42f2891f35 attempt to fix x86 osx build 2025-07-29 13:54:56 -07:00
Colin Davidson
e869b9351b Merge remote-tracking branch 'live/master' into spall_v3 2025-07-29 13:48:32 -07:00
Laytan
861fa4ab68 Merge pull request #4140 from colrdavidson/macharena
Mach Process control
2025-07-29 22:37:42 +02:00
Colin Davidson
35a95fc3e4 workaround to avoid excessive file-splitting 2025-07-29 13:28:04 -07:00
Colin Davidson
517e392abe if -> when 2025-07-29 13:18:40 -07:00
Colin Davidson
4d9fdf5bd3 move to checker error, rather than panic 2025-07-29 13:09:05 -07:00
Colin Davidson
9a2e6fff48 switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, trap on invalid arch 2025-07-29 12:21:46 -07:00
Colin Davidson
c1b3d035e4 remove spawn from os, comment sys/posix/spawn 2025-07-29 12:12:15 -07:00
Colin Davidson
0a102bd757 shuffle to Kern_Return 2025-07-29 11:52:58 -07:00
Colin Davidson
fe2b48dec4 enum pass 2025-07-29 11:48:58 -07:00
Laytan
435f7f6503 Merge pull request #5515 from laytan/ignored-arg-multi-return
fix ignored args in multi return handling
2025-07-29 19:16:32 +02:00
Laytan
e8a591386b Merge pull request #5514 from laytan/saner-default-stack-linker-flags
saner stack linker flags for WASM
2025-07-29 19:16:19 +02:00
Laytan
af0b90bd3e fix flag 2025-07-29 19:07:28 +02:00