diff --git a/include/proxy-wasm/limits.h b/include/proxy-wasm/limits.h index 9b9ac1cd3..bbc8dbc24 100644 --- a/include/proxy-wasm/limits.h +++ b/include/proxy-wasm/limits.h @@ -40,3 +40,8 @@ #ifndef PROXY_WASM_HOST_PAIRS_MAX_COUNT #define PROXY_WASM_HOST_PAIRS_MAX_COUNT 1024 #endif + +// Maximum number of frames in Wasm backtrace. +#ifndef PROXY_WASM_HOST_MAX_BACKTRACE_FRAMES_COUNT +#define PROXY_WASM_HOST_MAX_BACKTRACE_FRAMES_COUNT 20 +#endif diff --git a/src/v8/v8.cc b/src/v8/v8.cc index f5a73b130..cf54505ab 100644 --- a/src/v8/v8.cc +++ b/src/v8/v8.cc @@ -44,9 +44,10 @@ wasm::Engine *engine() { std::call_once(init, []() { // Disable the Liftoff compiler to force optimized JIT up-front. - std::string args = absl::StrFormat("--wasm_max_mem_pages=%u --no-liftoff", - PROXY_WASM_HOST_MAX_WASM_MEMORY_SIZE_BYTES / - PROXY_WASM_HOST_WASM_MEMORY_PAGE_SIZE_BYTES); + std::string args = absl::StrFormat( + "--no-liftoff --wasm_max_mem_pages=%u --stack-trace-limit=%u", + PROXY_WASM_HOST_MAX_WASM_MEMORY_SIZE_BYTES / PROXY_WASM_HOST_WASM_MEMORY_PAGE_SIZE_BYTES, + PROXY_WASM_HOST_MAX_BACKTRACE_FRAMES_COUNT); ::v8::V8::SetFlagsFromString(args.c_str(), args.size()); ::v8::V8::EnableWebAssemblyTrapHandler(true);