Răsfoiți Sursa

Export API wasm_runtime_enlarge_memory (#3569)

Export API wasm_runtime_enlarge_memory to support memory growth.
Benbuck Nason 1 an în urmă
părinte
comite
74dbafc699
2 a modificat fișierele cu 24 adăugiri și 0 ștergeri
  1. 20 0
      core/iwasm/common/wasm_memory.c
  2. 4 0
      core/iwasm/include/wasm_export.h

+ 20 - 0
core/iwasm/common/wasm_memory.c

@@ -919,6 +919,26 @@ return_func:
     return ret;
     return ret;
 }
 }
 
 
+bool
+wasm_runtime_enlarge_memory(WASMModuleInstanceCommon *module_inst,
+                            uint32_t inc_page_count)
+{
+#if WASM_ENABLE_AOT != 0
+    if (module_inst->module_type == Wasm_Module_AoT) {
+        return aot_enlarge_memory((AOTModuleInstance *)module_inst,
+                                  inc_page_count);
+    }
+#endif
+#if WASM_ENABLE_INTERP != 0
+    if (module_inst->module_type == Wasm_Module_Bytecode) {
+        return wasm_enlarge_memory((WASMModuleInstance *)module_inst,
+                                   inc_page_count);
+    }
+#endif
+
+    return false;
+}
+
 void
 void
 wasm_runtime_set_enlarge_mem_error_callback(
 wasm_runtime_set_enlarge_mem_error_callback(
     const enlarge_memory_error_callback_t callback, void *user_data)
     const enlarge_memory_error_callback_t callback, void *user_data)

+ 4 - 0
core/iwasm/include/wasm_export.h

@@ -1842,6 +1842,10 @@ 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);
 
 
+WASM_RUNTIME_API_EXTERN bool
+wasm_runtime_enlarge_memory(wasm_module_inst_t module_inst,
+                            uint32_t inc_page_count);
+
 typedef enum {
 typedef enum {
     INTERNAL_ERROR,
     INTERNAL_ERROR,
     MAX_SIZE_REACHED,
     MAX_SIZE_REACHED,