Commit Graph

4001 Commits

Author SHA1 Message Date
gingerBill
eb05879148 Add more comments 2021-11-04 14:25:34 +00:00
gingerBill
a882118c56 Add comments 2021-11-04 14:20:47 +00:00
gingerBill
57d15ac6e7 Remove unneeded suffixes 2021-11-04 14:11:34 +00:00
gingerBill
e3cfdf6982 Remove build tag 2021-11-04 14:11:04 +00:00
gingerBill
017fe10762 core:math/linalg/glsl - GLSL-like mathematics types and operations 2021-11-04 14:09:12 +00:00
gingerBill
7bb7a741c6 Make math procedure contextless; Add asinh, acosh, atanh 2021-11-04 14:07:05 +00:00
gingerBill
14351c5bf2 Simplify logic for procs.odin 2021-11-04 13:56:38 +00:00
gingerBill
7ef3c87dbb Change RUNTIME_LINKAGE requirements 2021-11-04 13:52:53 +00:00
gingerBill
b2a2aa15c2 Add ODIN_BUILD_MODE 2021-11-04 12:49:39 +00:00
gingerBill
6ded538546 @(linkage=<string>) for procedures and variables; @(require) for procedures; package runtime linkage improvements; Subsequence improvements to lb_run_remove_unused_function_pass 2021-11-04 12:40:50 +00:00
gingerBill
3fa7dabaa8 Correctly support -default-to-nil-allocator for all platforms 2021-11-04 11:03:21 +00:00
gingerBill
9ab71ca0da Add ODIN_NO_CRT global constant 2021-11-04 00:50:28 +00:00
gingerBill
9896205a06 Make runtime builtin matrix procedures contextless 2021-11-03 12:44:34 +00:00
gingerBill
8a626ef564 Minor comments about matrix printing 2021-11-03 11:34:47 +00:00
gingerBill
8429943569 Represent matrices in fmt as expected 2021-11-03 11:27:21 +00:00
gingerBill
edd12d505d Correct fmt for matrices 2021-11-03 11:20:04 +00:00
Yawning Angel
672fc9fc4d core/mem: Add zero_explicit
This call is intended to provide the ability to securely scrub memory
without compiler interference, in a similar manner to explicit_bzero,
memset_s, SecureZeroMemory.

The approach taken is a volatile memset followed by a seqentially
consistent memory fence, to prevent the call from being optimized away
by DSE, and from being reordered.  An identical approach is currently
being used by the zeroize Rust crate, and is effective in practice.

LLVM IR output:
```
; Function Attrs: nounwind
define internal i8* @mem.zero_explicit(i8* %0, i64 %1) #0 {
decls:
  call void @llvm.memset.p0i8.i64(i8* %0, i8 0, i64 %1, i1 true)
  fence seq_cst
  ret i8* %0
}
```
2021-10-31 22:57:13 +00:00
Yawning Angel
796a0c3968 core/intrinsics: Add mem_zero_volatile 2021-10-31 21:37:22 +00:00
gingerBill
5f51337a01 Add procs for wasm32 2021-10-31 19:00:01 +00:00
gingerBill
a36c1ad406 Add default_allocators_wasi.odin 2021-10-31 15:28:51 +00:00
gingerBill
3224d04df8 Stub out os.open for wasi 2021-10-31 15:22:54 +00:00
gingerBill
c13c30b466 Update wasi to use string and slice types 2021-10-31 15:21:39 +00:00
gingerBill
0c1675c8b0 Correct string usage 2021-10-31 15:01:13 +00:00
gingerBill
22982586f1 Add basic support for wasi in package os 2021-10-31 13:45:00 +00:00
gingerBill
0d2c8dfeec Separate os-specific things to separate file 2021-10-31 13:44:21 +00:00
gingerBill
305e965bcb Add os_specific_wasi.odin 2021-10-31 13:08:19 +00:00
gingerBill
906c7ef0fc Correct wasi linking 2021-10-31 13:04:28 +00:00
gingerBill
2a5b8f53fe Add memmove and memset support for wasm 2021-10-31 12:47:50 +00:00
gingerBill
c6e08b059b Move sys/wasi to sys/wasm/wasi 2021-10-31 12:30:10 +00:00
gingerBill
9a5216921c Add wasi_wasm32 2021-10-31 01:08:17 +00:00
gingerBill
8a2078aa90 Add core:sys/wasi 2021-10-31 01:06:27 +00:00
gingerBill
8ef6f9dd7b Compile wasm64; Add lb_run_remove_unused_function_pass 2021-10-31 00:11:38 +01:00
gingerBill
5bc8a491a7 Begin work on supporting wasm64; Correct wasm32 compilation behaviour 2021-10-30 23:24:34 +01:00
gingerBill
87952fdb8e big.Rat (Experimental) 2021-10-29 12:40:54 +01:00
Phil H
e4ce017183 better naming conventions for stopwatch procedures + fields 2021-10-28 14:08:21 -07:00
Phil
bbccf9ddbf Add clock overloads for Duration and Stopwatch 2021-10-28 14:08:21 -07:00
Phil
a8425cfb47 Add a stopwatch to time.odin 2021-10-28 14:08:21 -07:00
gingerBill
fa07e45eda Merge pull request #1249 from Yawning/feature/math-bits-improvements
core:math/bits: Improve add/sub/mul_u64
2021-10-28 00:19:57 +01:00
gingerBill
90d587df13 Support matrix type in core:odin 2021-10-27 23:49:37 +01:00
gingerBill
47bef7a557 Update doc-format 2021-10-27 23:34:56 +01:00
gingerBill
208ba2c116 Comment clean up 2021-10-27 23:30:12 +01:00
gingerBill
42a8ac7096 Add support for matrix type in core:odin/doc-format 2021-10-27 23:26:39 +01:00
Yawning Angel
ee724f183a core:math/bits: Improve add/sub/mul_u64
* `add_u32`/`add_u64`/`add_uint` are now constant time
 * `sub_u32`/`sub_u64`/`sub_uint` are now constant time
 * `mul_u64` now uses `u128`
2021-10-27 12:37:35 +00:00
gingerBill
c4d2aae0ed Merge pull request #1245 from odin-lang/new-matrix-type
`matrix` type
2021-10-26 21:08:08 +01:00
gingerBill
9e754cb0f1 Add slice.swap_between 2021-10-26 20:22:39 +01:00
gingerBill
802df73183 Remove unneeded call 2021-10-26 14:47:59 +01:00
gingerBill
9331ebebcc Add #no_bounds_check to sorting procedures 2021-10-26 14:24:21 +01:00
gingerBill
c64674c39e Remove unnecessary asserts 2021-10-26 13:38:48 +01:00
gingerBill
549a383cf0 Merge branch 'master' into new-matrix-type 2021-10-26 12:53:47 +01:00
gingerBill
d165de0d4d Move thread initialization variables in thread_unix.odin 2021-10-26 11:46:31 +01:00