Use 64-bit wasm_runtime_enlarge_memory() increment (#3573)

ps.
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3569#discussion_r1654398315
This commit is contained in:
Benbuck Nason
2024-06-26 23:34:43 -07:00
committed by GitHub
parent 65bf04e986
commit 837ff63662
2 changed files with 14 additions and 2 deletions

View File

@ -921,8 +921,12 @@ return_func:
bool bool
wasm_runtime_enlarge_memory(WASMModuleInstanceCommon *module_inst, wasm_runtime_enlarge_memory(WASMModuleInstanceCommon *module_inst,
uint32_t inc_page_count) uint64 inc_page_count)
{ {
if (inc_page_count > UINT32_MAX) {
return false;
}
#if WASM_ENABLE_AOT != 0 #if WASM_ENABLE_AOT != 0
if (module_inst->module_type == Wasm_Module_AoT) { if (module_inst->module_type == Wasm_Module_AoT) {
return aot_enlarge_memory((AOTModuleInstance *)module_inst, return aot_enlarge_memory((AOTModuleInstance *)module_inst,

View File

@ -1842,9 +1842,17 @@ WASM_RUNTIME_API_EXTERN bool
wasm_runtime_is_import_global_linked(const char *module_name, wasm_runtime_is_import_global_linked(const char *module_name,
const char *global_name); const char *global_name);
/**
* Enlarge the memory region for a module instance
*
* @param module_inst the module instance
* @param inc_page_count the number of pages to add
*
* @return true if success, false otherwise
*/
WASM_RUNTIME_API_EXTERN bool WASM_RUNTIME_API_EXTERN bool
wasm_runtime_enlarge_memory(wasm_module_inst_t module_inst, wasm_runtime_enlarge_memory(wasm_module_inst_t module_inst,
uint32_t inc_page_count); uint64_t inc_page_count);
typedef enum { typedef enum {
INTERNAL_ERROR, INTERNAL_ERROR,