summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/rust/Cargo.toml2
-rwxr-xr-xexamples/rust/build.sh11
-rw-r--r--examples/wasm-rust.rs10
3 files changed, 9 insertions, 14 deletions
diff --git a/examples/rust/Cargo.toml b/examples/rust/Cargo.toml
index da238ad..430bcad 100644
--- a/examples/rust/Cargo.toml
+++ b/examples/rust/Cargo.toml
@@ -48,7 +48,7 @@ path="src/argon2id.rs"
[profile.wasm]
opt-level=3
-lto="thin"
+lto="fat"
codegen-units=1
panic="abort"
inherits="release"
diff --git a/examples/rust/build.sh b/examples/rust/build.sh
index 567ed56..9df5447 100755
--- a/examples/rust/build.sh
+++ b/examples/rust/build.sh
@@ -2,12 +2,11 @@
cd "$(dirname "$0")" || exit
bins=("host_fn" "hello" "fibonacci" "print" "tinywasm" "argon2id")
-exclude_wat=("tinywasm")
out_dir="./target/wasm32-unknown-unknown/wasm"
dest_dir="out"
-rust_features="+simd128,+reference-types,+bulk-memory,+mutable-globals,+multivalue,+sign-ext,+nontrapping-fptoint"
-wasmopt_features="--enable-simd --enable-reference-types --enable-bulk-memory --enable-mutable-globals --enable-multivalue --enable-sign-ext --enable-nontrapping-float-to-int"
+rust_features="+sign-ext,+simd128,+reference-types,+bulk-memory,+bulk-memory-opt,+multimemory,+call-indirect-overlong,+mutable-globals,+multivalue,+sign-ext,+nontrapping-fptoint,+extended-const,+tail-call"
+# wasmopt_features="--enable-reference-types --enable-bulk-memory --enable-mutable-globals --enable-multivalue --enable-sign-ext --enable-nontrapping-float-to-int"
# ensure out dir exists
mkdir -p "$dest_dir"
@@ -20,9 +19,5 @@ for bin in "${bins[@]}"; do
RUSTFLAGS="-C target-feature=$rust_features -C panic=abort" cargo build --target wasm32-unknown-unknown --package rust-wasm-examples --profile=wasm --bin "$bin"
cp "$out_dir/$bin.wasm" "$dest_dir/"
- wasm-opt "$dest_dir/$bin.wasm" -o "$dest_dir/$bin.opt.wasm" -O3 $wasmopt_features
-
- if [[ ! " ${exclude_wat[@]} " =~ " $bin " ]]; then
- wasm2wat "$dest_dir/$bin.wasm" -o "$dest_dir/$bin.wat"
- fi
+ # wasm-opt "$dest_dir/$bin.wasm" -o "$dest_dir/$bin.opt.wasm" -O3 $wasmopt_features
done
diff --git a/examples/wasm-rust.rs b/examples/wasm-rust.rs
index 82d5c93..4d8cdf4 100644
--- a/examples/wasm-rust.rs
+++ b/examples/wasm-rust.rs
@@ -72,7 +72,7 @@ fn main() -> Result<()> {
}
fn tinywasm() -> Result<()> {
- let module = Module::parse_file("./examples/rust/out/tinywasm.opt.wasm")?;
+ let module = Module::parse_file("./examples/rust/out/tinywasm.wasm")?;
let mut store = Store::default();
let mut imports = Imports::new();
@@ -102,7 +102,7 @@ fn tinywasm_no_std() -> Result<()> {
}
fn hello() -> Result<()> {
- let module = Module::parse_file("./examples/rust/out/hello.opt.wasm")?;
+ let module = Module::parse_file("./examples/rust/out/hello.wasm")?;
let mut store = Store::default();
let mut imports = Imports::new();
@@ -151,7 +151,7 @@ fn host_fn() -> Result<()> {
}
fn printi32() -> Result<()> {
- let module = Module::parse_file("./examples/rust/out/print.opt.wasm")?;
+ let module = Module::parse_file("./examples/rust/out/print.wasm")?;
let mut store = Store::default();
let mut imports = Imports::new();
@@ -172,7 +172,7 @@ fn printi32() -> Result<()> {
}
fn fibonacci() -> Result<()> {
- let module = Module::parse_file("./examples/rust/out/fibonacci.opt.wasm")?;
+ let module = Module::parse_file("./examples/rust/out/fibonacci.wasm")?;
let mut store = Store::default();
let instance = module.instantiate(&mut store, None)?;
@@ -185,7 +185,7 @@ fn fibonacci() -> Result<()> {
}
fn argon2id() -> Result<()> {
- let module = Module::parse_file("./examples/rust/out/argon2id.opt.wasm")?;
+ let module = Module::parse_file("./examples/rust/out/argon2id.wasm")?;
let mut store = Store::default();
let instance = module.instantiate(&mut store, None)?;