Commit Graph

135 Commits

Author SHA1 Message Date
Laytan Laats
b2e64b7ce0 implement lshrti3 on wasm 2024-08-18 17:09:57 +02:00
gingerBill
78fa675c1a Add assert_contextless, panic_contextless, unimplemented_contextless 2024-08-14 11:18:24 +01:00
gingerBill
66d3082a9a Merge pull request #4056 from laytan/re-enable-runtime-wasm-stuff
re-enable some wasm things in runtime
2024-08-13 14:04:19 +01:00
Laytan Laats
26fa3aca44 fix copy-paste error in make docs 2024-08-11 17:09:26 +02:00
Abdul Rahman Sibahi
67251ad5b8 typo fix 2024-08-11 14:30:48 +03:00
Laytan Laats
7fd8b9c55b re-enable some wasm things in runtime
No idea why the floattidf procs are bodged to return 0, does somebody
know? I have just enabled the original codepath, if nobody knows I
suggest just enabling it and see if we get complaints, it works on all
wasm stuff I tried.

The linkage being set to "internal" instead of "strong" is actually
causing problems in my projects which is what prompted looking at this
in the first place, some of these functions were actually needed but not
added/used because they had internal linkage. This only happens on
bigger projects (or just when using f16?).

Unfortunately `git blame` gave me this generic commit: 94bad4d786 (diff-fb9f42022cb95efa59d16813546b8cb310234428c85edfabf09b1425c9dc46af)
2024-08-10 23:10:30 +02:00
gingerBill
bed18a17e6 Bodge: Improve aligned_resize logic 2024-08-06 11:22:34 +01:00
Damian Tarnawski
953ae32607 Update builtin constants 2024-07-31 18:55:04 +02:00
Laytan Laats
28fac62a02 fix some bugs with -disable-assert 2024-07-16 18:44:18 +02:00
Laytan Laats
55e0f97cc4 help fmt with Type_Info_Struct and Type_Info_Bit_Field changes 2024-07-15 18:29:06 +02:00
gingerBill
196ac7e6d6 Type erase _make_dynamic_array_len_cap 2024-07-15 00:01:26 +01:00
gingerBill
f7cb711874 Add #force_no_inline 2024-07-14 23:48:33 +01:00
gingerBill
26a9416a41 Minor clean ups 2024-07-14 23:33:35 +01:00
gingerBill
e768bddaeb Inline _append_elem_string further 2024-07-14 23:22:22 +01:00
gingerBill
83b7dd122a Type erase for append_elems 2024-07-14 23:20:50 +01:00
gingerBill
b0fbaf24a0 Type erase append_elem 2024-07-14 23:16:11 +01:00
gingerBill
15fb4ded2a type erase resize and reserve internals 2024-07-14 23:09:10 +01:00
gingerBill
399c3ab067 Reduce the size of runtime.Type_Info 2024-07-14 21:37:35 +01:00
gingerBill
8642d719f0 Imply #no_capture to all variadic parameters 2024-07-14 12:19:47 +01:00
gingerBill
c7bd954752 Add more uses of #no_capture 2024-07-14 11:56:04 +01:00
Jeroen van Rijn
c49afb0039 Add hinstdll forward to runtime globals 2024-07-10 19:58:29 +02:00
Laytan Laats
2d8d0dd851 fix @(optimization_mode) usage in builtin collections 2024-07-08 21:07:53 +02:00
Laytan Laats
ddad2011e2 darwin: remove syscall usage (without -no-crt) to comply to Apple guidelines 2024-07-08 15:39:23 +02:00
gingerBill
942f3f5220 Add non_zero_* variants for #soa dynamic array 2024-07-01 12:04:29 +01:00
gingerBill
8ddfcf174d Add #soa support to append directly 2024-07-01 11:51:28 +01:00
gingerBill
3a43928184 Add #no_broadcast to append_soa 2024-07-01 11:47:33 +01:00
gingerBill
7f6fe91896 Add #soa forms to reserve, clear, and resize 2024-07-01 11:37:21 +01:00
gingerBill
11617af8f5 Add support for make(#soa[]T) etc 2024-07-01 11:34:50 +01:00
gingerBill
4a2b87672c Unify #soa code for structs and arrays 2024-07-01 11:11:06 +01:00
Laytan Laats
604551eb2d wasi: make the demo run on wasi and run it in CI 2024-06-29 23:15:31 +02:00
gingerBill
e296d6fb90 Fix loads of indentation issues with mixing spaces and tabs 2024-06-29 19:50:51 +01:00
gingerBill
5413a8b744 Even more style fixes 2024-06-29 19:11:36 +01:00
gingerBill
ff2d042313 Remove unneeded transmute 2024-06-29 13:54:15 +01:00
gingerBill
c88a1bef91 Add another -vet-cast check 2024-06-29 12:40:04 +01:00
gingerBill
706adb1232 Update for transmute -vet-cast 2024-06-29 12:16:43 +01:00
gingerBill
4b71c47fd5 Check for unneeded transmute with -vet-cast 2024-06-29 12:02:31 +01:00
gingerBill
55e9b8d994 Use explicit calling conventions 2024-06-29 10:48:41 +01:00
gingerBill
ee2a0c4010 Merge branch 'master' of https://github.com/odin-lang/Odin 2024-06-29 10:47:15 +01:00
gingerBill
f974002839 Use f32 operations rather than f16 in complex32 and quaternion64 to improve accuracy and performance 2024-06-29 10:47:09 +01:00
Karl Zylinski
679f9b4e41 Made default capacity of dynamic arrays more consistent.
Before this if you do `arr: [dynamic]int` and then append to arr, then it will have capacity 8.
But if you did `arr := make([dynamic]int, context.temp_allocator)` then arr would have capacity 16.

Now both `arr: [dynamic]int` and `arr := make([dynamic]int, context.temp_allocator)` will resut in arr having zero 0. The only reason to use `make` without an explicit len or cap now is because you want to set it up for a non-default allocator. After the first call to `append` it will now in both cases have capacity 8.

I also updated the documentation on the strings builder, both to reflect this, and also to fix it incorrectly saying that len would be 'max(16,len)', which wasn't true even before these changes.
2024-06-29 08:57:21 +02:00
gingerBill
a1ae6f161b Merge pull request #3502 from ARtemachka/master
Fix typo in core_builtin
2024-06-28 12:00:10 +01:00
gingerBill
f883cd5053 Initialize default context in heap_allocator_other.odin 2024-06-28 08:33:12 +01:00
Karl Zylinski
f227a40652 Replace max(8, 1) in _append_elem with just 8 and a comment. 2024-06-25 22:48:14 +02:00
gingerBill
93441a043a Make runtime.heap_alloc contextless 2024-06-25 09:38:49 +01:00
Jeroen van Rijn
91cc006e8f Fix unaligned store for rand 2024-06-20 17:54:37 +02:00
Feoramund
1dfc89567e Optimize default RNG for the common case 2024-06-20 11:27:51 -04:00
Karl Zylinski
11e586494b Clarify that the arena in base:runtime shouldn't be used for anything but the default temp allocator. This is done by renaming the file in which it lives, and also by improving the comment above Arena :: struct {. This should avoid some confusion where people end up using the Arena in base:runtime because they thought it was the 'default arena'. 2024-06-18 12:48:16 +02:00
Feoramund
53140dca15 Fix default_random_generator_proc not using state 2024-06-15 12:54:30 -04:00
gingerBill
7ec17ecf98 Update core:math/rand to use context.random_generator and remove rand.Rand 2024-06-15 15:33:24 +01:00
gingerBill
318d5e4a7e Add Reset mode 2024-06-15 15:17:23 +01:00