mirror of
https://github.com/golang/go
synced 2025-08-04 00:50:38 +00:00
This also updates wasip1_wasm to use a 8MiB stack, which is the same stack size as what is used by go_js_wasm_exec. The increase of stack size is necessary because the jsonv2 tests exercise that the jsonv2 and jsontext packages support a hard limit of a maximum JSON nesting depth of 10000. However, even with a depth limit of 10000, this still exceeds the previously specified maximum stack size of 1 MiB. For use of JSON with untrusted inputs in WASM, we really need to support #56733 as there is no right answer for the default max depth limit to use since the max wasm stack size is determined on a per-system basis. Updates #71845 Change-Id: I3b32c58cc9f594a5c59bb3e4b20f5e86d85d8209 Reviewed-on: https://go-review.googlesource.com/c/go/+/683575 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> Reviewed-by: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
24 lines
797 B
Bash
Executable File
24 lines
797 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright 2023 The Go Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style
|
|
# license that can be found in the LICENSE file.
|
|
|
|
case "$GOWASIRUNTIME" in
|
|
"wasmedge")
|
|
exec wasmedge --dir=/ --env PWD="$PWD" --env PATH="$PATH" ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
|
|
;;
|
|
"wasmer")
|
|
exec wasmer run --dir=/ --env PWD="$PWD" --env PATH="$PATH" ${GOWASIRUNTIMEARGS:-} "$1" -- "${@:2}"
|
|
;;
|
|
"wazero")
|
|
exec wazero run -mount /:/ -env-inherit -cachedir "${TMPDIR:-/tmp}"/wazero ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
|
|
;;
|
|
"wasmtime" | "")
|
|
exec wasmtime run --dir=/ --env PWD="$PWD" --env PATH="$PATH" -W max-wasm-stack=8388608 ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
|
|
;;
|
|
*)
|
|
echo "Unknown Go WASI runtime specified: $GOWASIRUNTIME"
|
|
exit 1
|
|
;;
|
|
esac
|