Remove a few hardcoded spec test knowledge from the core library (#3648)

Tweak the stack sizes in the spec test runner instead.
This commit is contained in:
YAMAMOTO Takashi
2024-07-22 14:30:00 +09:00
committed by GitHub
parent b05fdfd3ba
commit 50f28495a1
3 changed files with 14 additions and 26 deletions

View File

@ -1748,16 +1748,7 @@ aot_instantiate(AOTModule *module, AOTModuleInstance *parent,
/* Initialize the thread related data */
if (stack_size == 0)
stack_size = DEFAULT_WASM_STACK_SIZE;
#if WASM_ENABLE_SPEC_TEST != 0
#if WASM_ENABLE_TAIL_CALL == 0
if (stack_size < 128 * 1024)
stack_size = 128 * 1024;
#else
/* Some tail-call cases require large operand stack */
if (stack_size < 10 * 1024 * 1024)
stack_size = 10 * 1024 * 1024;
#endif
#endif
module_inst->default_wasm_stack_size = stack_size;
extra->stack_sizes =

View File

@ -2990,16 +2990,7 @@ wasm_instantiate(WASMModule *module, WASMModuleInstance *parent,
/* Initialize the thread related data */
if (stack_size == 0)
stack_size = DEFAULT_WASM_STACK_SIZE;
#if WASM_ENABLE_SPEC_TEST != 0
#if WASM_ENABLE_TAIL_CALL == 0
if (stack_size < 128 * 1024)
stack_size = 128 * 1024;
#else
/* Some tail-call cases require large operand stack */
if (stack_size < 10 * 1024 * 1024)
stack_size = 10 * 1024 * 1024;
#endif
#endif
module_inst->default_wasm_stack_size = stack_size;
if (module->malloc_function != (uint32)-1) {

View File

@ -1161,13 +1161,19 @@ def run_wasm_with_repl(wasm_tempfile, aot_tempfile, opts, r):
if opts.qemu:
tmpfile = f"/tmp/{os.path.basename(tmpfile)}"
if opts.verbose:
cmd_iwasm = [opts.interpreter, "--heap-size=0", "-v=5", "--repl", tmpfile]
else:
cmd_iwasm = [opts.interpreter, "--heap-size=0", "--repl", tmpfile]
cmd_iwasm = [opts.interpreter, "--heap-size=0", "--repl"]
if opts.multi_module:
cmd_iwasm.insert(1, "--module-path=" + (tempfile.gettempdir() if not opts.qemu else "/tmp" ))
cmd_iwasm.append("--module-path=" + (tempfile.gettempdir() if not opts.qemu else "/tmp" ))
if opts.gc:
# our tail-call implementation is known broken.
# work it around by using a huge stack.
# cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/2231
cmd_iwasm.append("--stack-size=10485760") # 10MB (!)
else:
cmd_iwasm.append("--stack-size=131072") # 128KB
if opts.verbose:
cmd_iwasm.append("-v=5")
cmd_iwasm.append(tmpfile)
if opts.qemu:
if opts.qemu_firmware == '':