Commit Graph

4236 Commits

Author SHA1 Message Date
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
gingerBill
12ebd422c6 Fix typos 2021-10-25 19:04:08 +01:00
gingerBill
7ac156755b Reorder code 2021-10-25 15:36:00 +01:00
gingerBill
973ca6824c Rename hermitian_adjoint 2021-10-25 15:35:06 +01:00
gingerBill
9c7956be9e Minor changes to where conditions 2021-10-25 15:16:34 +01:00
gingerBill
4475454632 Improve core_builtin_matrix.odin 2021-10-25 14:59:43 +01:00
gingerBill
f15825d2c6 Fix typo 2021-10-25 13:32:53 +01:00
gingerBill
aaaddd03a6 Improve internal procedures 2021-10-25 01:28:06 +01:00
gingerBill
79ad6f4564 Remove assert 2021-10-25 01:02:38 +01:00
gingerBill
c60c7a7621 Add comments to Type_Info_Matrix 2021-10-25 00:47:12 +01:00
gingerBill
7a29f6cff0 Merge branch 'master' into new-matrix-type 2021-10-24 12:36:34 +01:00
gingerBill
c9e6862332 Add id to thread.Thread 2021-10-24 12:30:25 +01:00
gingerBill
b4df51e483 Merge branch 'master' into new-matrix-type 2021-10-23 19:24:47 +01:00
gingerBill
d54b708ba8 Unify memory_equal and string_eq 2021-10-23 17:18:40 +01:00
gingerBill
fba20c9bd3 Improve runtime.string_eq 2021-10-23 17:10:30 +01:00
gingerBill
18ed444a63 Strip semicolons 2021-10-23 17:10:12 +01:00