gingerBill
3b9ce3f142
Merge branch 'master' into bill/subtype-type-info
2025-06-10 09:52:57 +01:00
gingerBill
87247b8bb7
Merge pull request #5286 from Feoramund/no-san-mem
...
Add `@(no_sanitize_memory)` with additions to `base:sanitizer`
2025-06-09 12:46:22 +01:00
iarkn
3152be01b9
Add intrinsics.type_is_bit_field proc
2025-06-06 16:01:13 +02:00
Feoramund
9c5640886d
Add @(no_sanitize_memory) proc attribute with MSan additions to base:sanitizer
2025-06-05 16:06:40 -04:00
Feoramund
91111937a7
Guard against negative index in inject_at
...
Fixes #4595
2025-06-04 13:58:06 -04:00
Matteo
56e0da4f14
Add missing return cast in 'memory_prefix_length' on amd64 avx2
2025-06-01 10:53:28 +02:00
Jeroen van Rijn
890e923051
Vectorize strings.prefix_length.
...
Also add `strings.common_prefix`.
2025-05-31 20:24:21 +02:00
Feoramund
45219f240e
Rename SIMD_IS_EMULATED to capability-affirmative HAS_HARDWARE_SIMD
2025-05-29 17:17:51 -04:00
Feoramund
34698288b8
Vectorize runtime.memory_* comparison procedures
2025-05-29 16:29:13 -04:00
Feoramund
827a6f9045
Move simd.IS_EMULATED to runtime.SIMD_IS_EMULATED
2025-05-29 15:12:01 -04:00
Feoramund
b5bc0fdcda
Remove commented block of code
2025-05-27 15:25:30 -04:00
Jeroen van Rijn
ee132b39d4
Clarify optimization mode affecting use-separate-modules
2025-05-26 20:50:43 +02:00
Jeroen van Rijn
0f0d69ea4c
Clarify Darwin minimum OS version
2025-05-26 20:38:04 +02:00
Jeroen van Rijn
725cc53c65
Typo
2025-05-26 20:29:49 +02:00
Jeroen van Rijn
229c734820
Add comments to builtin.odin, documenting ODIN_* constants. ( #5218 )
...
And document constants not previously listed.
2025-05-26 18:58:59 +02:00
0xrsp
ea806f1d5e
new compiler intrinsics type_integer_to_unsigned,type_integer_to_signed
2025-05-15 01:00:40 +09:30
gingerBill
d2d4ac8120
Add compress_values
2025-05-12 15:29:43 +01:00
Laytan Laats
4d08b76372
require the __asan_unpoison_memory_region runtime symbol so empty projects with asan enabled build
2025-05-09 22:26:49 +02:00
gingerBill
92df892f25
Merge pull request #5064 from harold-b/hb/objc-classes
...
Add support for Objective-C class implementation
2025-05-08 12:58:33 +01:00
gingerBill
90a30a145a
Merge pull request #5122 from Lperlind/asan-allocators
...
Add asan support for various allocators and stack unpoisoning
2025-05-07 10:21:16 +01:00
Lucas Perlind
46e0c7ad74
Cleanup
2025-05-07 11:30:58 +10:00
Lucas Perlind
fd05f55691
Fix wasi_wasm
2025-05-06 15:23:44 +10:00
Lucas Perlind
83bc2d3c4a
Add asan support for various allocators
2025-05-06 14:55:50 +10:00
Barinzaya
dd5b7852ce
Added alternate reduce-add/reduce-mul intrinsics.
...
The new reduce_add/reduce_mul procs perform the corresponding arithmetic
reduction in different orders than sequential order. These alternative
orders can often offer better SIMD hardware utilization.
Two different orders are added: pair-wise (operating on pairs of
adjacent elements) or bisection-wise (operating element-wise on the
first and last N/2 elements of the vector).
2025-05-05 16:38:45 -04:00
gingerBill
c4719e75fd
Add simd.indices and docs
2025-05-05 11:43:19 +01:00
Harold Brenes
5f0b47c373
Implement all checker specification for Objective-C class implementations and objc_ivar_get intrinsic
2025-05-03 00:59:33 -04:00
Harold Brenes
998ed79738
Go back to objc_ivar_get instead of ivar_get.
2025-04-30 20:43:05 -04:00
Lucas Perlind
4763da4b0d
Document base:sanitizer
2025-04-29 19:06:09 +10:00
Lucas Perlind
5e985bcd74
Remove dependency on runtime; Add to examples
2025-04-24 20:34:32 +10:00
Lucas Perlind
5c117bde6d
Add base:sanitizer package
2025-04-24 20:28:32 +10:00
Lucas Perlind
7502e7f2bc
make asan procs contextless
2025-04-24 19:56:40 +10:00
Lucas Perlind
4a0be1f3a8
make vet happy
2025-04-24 16:02:31 +10:00
Lucas Perlind
ab0b26e876
Add more asan support to the odin runtime and begin sanitizing
...
allocators
This adds various bindings to the asan runtime which can be used
to poison/unpoison memory handed out by various allocators. This
means we can catch use after free memory bugs when using operations
such as free_all during runtime.
Asan poisoning are added for the follow allocators in mem:
Arena (including temporary arenas)
Scratch
Stack
Small_Stack
Additionally a bug in the stack allocator was fixed to disallow freeing
in the middle of the stack (caught by the asan!).
I plan on adding support for all the allocators in core. This is just
a good starting point and were some of the easiest ones to implement
asan for.
2025-04-24 15:17:51 +10:00
Harold Brenes
a3de9c8de4
Add initial support for Objective-C class implementation
2025-04-20 21:53:46 -04:00
gingerBill
3dcc22fa6d
Change hashing rules for float-like types to make 0 == -0
2025-04-16 10:52:35 +01:00
Jeroen van Rijn
bb38775fb1
Remove Type_Info_Tuple
2025-04-13 21:51:57 +02:00
gingerBill
1f814c33dc
Support subtargets in build tags: #build darwin:generic and #build linux:android, darwin:ios
2025-04-10 11:36:03 +01:00
gingerBill
f8fb089ee3
Merge branch 'master' into bill/subtype-type-info
2025-03-28 10:10:59 +00:00
Dave Voutila
18988b5f94
Fix use of errno on OpenBSD.
2025-03-27 10:36:40 -04:00
gingerBill
539e9bd2e3
Merge pull request #4836 from laytan/fix-wrong-out-of-memory
...
fix wrong out of memory in edge cases, just try allocate from block for one source of truth
2025-03-20 17:20:26 +00:00
gingerBill
58b76fb14a
Make Type_Info have no implicit padding
2025-03-06 09:59:27 +00:00
gingerBill
19188a6e5c
Use subtyping for Type_Info to minimize memory usage
2025-03-06 09:44:41 +00:00
gingerBill
21a6648cde
Fix #4903
2025-03-03 15:16:50 +00:00
gingerBill
0781526b35
Merge pull request #4466 from Barinzaya/simd_extract_msbs
...
SIMD Extract MSbs/LSbs Intrinsics
2025-02-24 14:04:07 +00:00
Barinzaya
4afedbc051
Added simd_extract_lsbs intrinsic as well.
...
Equivalent to the simd_extract_msbs intrinsic, except it extracts the
least significant bit of each element instead.
2025-02-24 08:49:57 -05:00
gingerBill
ef016d957b
Add @(require_results) to random generator
2025-02-24 13:48:07 +00:00
Barinzaya
33a3aab791
Added simd_extract_msbs intrinsic.
2025-02-24 08:39:32 -05:00
gingerBill
614c0dd740
Fix typeid size for 32-bit platforms
2025-02-20 17:10:04 +00:00
gingerBill
4ece0617bc
Keep -vet happy
2025-02-20 14:18:19 +00:00
gingerBill
5489a88983
Change typeid definition to be based around the canonical type hash
...
`typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type.
This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox).
Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table.
2025-02-20 14:10:45 +00:00