From 3cc0f1ef0dd9d08bf416e1299fb497db3fbc0d2f Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 24 Apr 2023 15:20:08 +0200 Subject: [PATCH] Disable stacker on WASM --- Cargo.toml | 2 ++ src/eval/mod.rs | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 36845812c..416197b84 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,6 +53,8 @@ usvg = { version = "0.22", default-features = false, features = ["text"] } xmp-writer = "0.1" tracing = "0.1.37" indexmap = "1.9.3" + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] stacker = "0.1.15" [profile.dev] diff --git a/src/eval/mod.rs b/src/eval/mod.rs index 05a434041..850a3d32f 100644 --- a/src/eval/mod.rs +++ b/src/eval/mod.rs @@ -1119,10 +1119,14 @@ impl Eval for ast::FuncCall { let callee = callee.cast::().at(callee_span)?; let point = || Tracepoint::Call(callee.name().map(Into::into)); + let f = || callee.call_vm(vm, args).trace(vm.world(), point, span); - stacker::maybe_grow(32 * 1024, 2 * 1024 * 1024, || { - callee.call_vm(vm, args).trace(vm.world(), point, span) - }) + // Stacker is broken on WASM. + #[cfg(target_arch = "wasm32")] + return f(); + + #[cfg(not(target_arch = "wasm32"))] + stacker::maybe_grow(32 * 1024, 2 * 1024 * 1024, f) } }