Rujia Liu
b6ce6b7cdb
Basic WebAssembly support with minimal Javascript API #615 . Currently 6/12 crypto functions supported. Tested in browser with all default features disabled.
2023-09-08 17:27:22 +08:00
Bennet Bleßmann
c7ec5a13a5
remove locks from AtomTable
...
there are technically still two locks
- the Mutex to serialize consurrent updates to the AtomTable
- the RwLock as part of GLOBAL_ATOM_TABLE
the former is the age lock of RESIZE ATOM TABLE in <https://arxiv.org/pdf/1608.00989.pdf >, though we use it for the whole update as we don't match the whole structure and can't reserve an atom slot as is, so we need to also lock concurrent updates without resizing
the later should be uncontendet as we only write AtomTable::new iff the current value is a dangling Weak
2023-09-05 19:39:59 +02:00
Bennet Bleßmann
01aeb7515d
[WIP] move towards lockless AtomTable
2023-09-05 19:39:46 +02:00
Skgland
d24e6100a7
fix rust_beta_channel feature
2023-09-05 19:12:23 +02:00
Skgland
a95c5e26e6
add comment why blocking_write is not used
2023-09-05 19:12:23 +02:00
Bennet Bleßmann
13cbff7eab
[WIP] fix deadlock in AtomTable::build_with
2023-09-05 19:12:22 +02:00
Skgland
86166dbf25
[WIP] make AtomTable concurrentcy ready
2023-09-05 19:12:22 +02:00
Skgland
b2130c2a48
run cargo fmt
2023-09-05 19:12:17 +02:00
Rujia Liu
4fd059be5f
32-bit system support, addressing all (at most) 4GB addresses of RAM.
2023-08-24 20:05:40 +08:00
Rujia Liu
f6d3b2f896
Make Atom 64-bit regardless of architecture
2023-08-20 19:43:13 +08:00
Bennet Bleßmann
a70157003b
fix spelling
2023-07-29 13:11:00 +02:00
Bennet Bleßmann
6aa3c7d5d6
handle atom table resize
...
* bumping serial_test dev-dependency due to broken should_panic handling in old version
2023-07-29 11:22:25 +02:00
Bennet Bleßmann
4ef8c5c47d
detect and prevent² concurrent AtomTable use
...
²in the case of `#[cfg(not(test))]` there is still a toctou race as I am not sufficently familiar with Atomics
2023-07-27 23:37:03 +02:00
Skgland
a5de329712
don't genrate code in src/
...
[Outputs of Build Script](https://doc.rust-lang.org/cargo/reference/build-scripts.html#outputs-of-the-build-script ) states that only files in $OUT_DIR may be modified
2022-01-10 21:19:18 +01:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00