Hi, I've been using the wasm-c-api of WAMR so I can use wasm_func_call
to obtain wasm_trap_t
values which I can use to inspect the stack trace on crash. This means I've also had to use the wasm-c-api functions for creating the instance (since I need to pass a wasm_func_t
to wasm_func_call
, which I can obtain only from a wasm_extern_t
which I obtain from wasm_instance_exports
which requires a wasm_instance_t
). wasm_instance_t
needs to be constructed with wasm_instance_new
, which doesn't take stack size and heap size parameters, unlike wasm_runtime_instantiate
, and instead hardcodes them to 32 * 1024.
Is there a way to obtain a wasm_instance_t
, but edit the stack and heap sizes? If there isn't, perhaps the wasm_engine_new_with_config
API could be used to provide configuration like this.
If there is no way to provide this configuration would it be okay if I raise a PR to add the wasm_config_t
functions to add this functionality?
@Tyler Zhang More missing wasm-c-api APIs were implemented with latest patch and the following new API was added:
wasm_instance_t* wasm_instance_new_with_args(
wasm_store_t, const wasm_module_t, const wasm_extern_t *const imports[],
own wasm_trap_t**, const uint32_t stack_size, const uint32_t heap_size
);
Could you please use it to create the module instance instead of wasm_instance_new? Thanks.
Last updated: Dec 23 2024 at 12:05 UTC