Fix wasm_runtime_load argument type invalid issue (#1059)

Remove the `const` flag for the first argument `buf` of wasm_runtime_load as
it might be modified by runtime for footprint and performance purpose, and
update the related functions and document.
This commit is contained in:
Wenyong Huang 2022-03-24 10:08:49 +08:00 committed by GitHub
parent 38b07b3614
commit b6e5206e61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 12 additions and 10 deletions

View File

@ -753,7 +753,7 @@ register_module_with_null_name(WASMModuleCommon *module_common, char *error_buf,
} }
WASMModuleCommon * WASMModuleCommon *
wasm_runtime_load(const uint8 *buf, uint32 size, char *error_buf, wasm_runtime_load(uint8 *buf, uint32 size, char *error_buf,
uint32 error_buf_size) uint32 error_buf_size)
{ {
WASMModuleCommon *module_common = NULL; WASMModuleCommon *module_common = NULL;

View File

@ -413,7 +413,7 @@ wasm_runtime_is_xip_file(const uint8 *buf, uint32 size);
/* See wasm_export.h for description */ /* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN WASMModuleCommon * WASM_RUNTIME_API_EXTERN WASMModuleCommon *
wasm_runtime_load(const uint8 *buf, uint32 size, char *error_buf, wasm_runtime_load(uint8 *buf, uint32 size, char *error_buf,
uint32 error_buf_size); uint32 error_buf_size);
/* See wasm_export.h for description */ /* See wasm_export.h for description */

View File

@ -300,7 +300,10 @@ wasm_runtime_find_module_registered(const char *module_name);
* WASM binary data when interpreter or JIT is enabled, or AOT binary data * WASM binary data when interpreter or JIT is enabled, or AOT binary data
* when AOT is enabled. If it is AOT binary data, it must be 4-byte aligned. * when AOT is enabled. If it is AOT binary data, it must be 4-byte aligned.
* *
* @param buf the byte buffer which contains the WASM binary data * @param buf the byte buffer which contains the WASM/AOT binary data,
* note that the byte buffer must be writable since runtime may
* change its content for footprint and performance purpose, and
* it must be referencable until wasm_runtime_unload is called
* @param size the size of the buffer * @param size the size of the buffer
* @param error_buf output of the exception info * @param error_buf output of the exception info
* @param error_buf_size the size of the exception string * @param error_buf_size the size of the exception string
@ -308,7 +311,7 @@ wasm_runtime_find_module_registered(const char *module_name);
* @return return WASM module loaded, NULL if failed * @return return WASM module loaded, NULL if failed
*/ */
WASM_RUNTIME_API_EXTERN wasm_module_t WASM_RUNTIME_API_EXTERN wasm_module_t
wasm_runtime_load(const uint8_t *buf, uint32_t size, wasm_runtime_load(uint8_t *buf, uint32_t size,
char *error_buf, uint32_t error_buf_size); char *error_buf, uint32_t error_buf_size);
/** /**

View File

@ -3578,7 +3578,7 @@ check_wasi_abi_compatibility(const WASMModule *module, bool main_module,
#endif #endif
WASMModule * WASMModule *
wasm_loader_load(const uint8 *buf, uint32 size, wasm_loader_load(uint8 *buf, uint32 size,
#if WASM_ENABLE_MULTI_MODULE != 0 #if WASM_ENABLE_MULTI_MODULE != 0
bool main_module, bool main_module,
#endif #endif

View File

@ -24,7 +24,7 @@ extern "C" {
* @return return module loaded, NULL if failed * @return return module loaded, NULL if failed
*/ */
WASMModule * WASMModule *
wasm_loader_load(const uint8 *buf, uint32 size, wasm_loader_load(uint8 *buf, uint32 size,
#if WASM_ENABLE_MULTI_MODULE != 0 #if WASM_ENABLE_MULTI_MODULE != 0
bool main_module, bool main_module,
#endif #endif

View File

@ -2336,7 +2336,7 @@ load(const uint8 *buf, uint32 size, WASMModule *module, char *error_buf,
} }
WASMModule * WASMModule *
wasm_loader_load(const uint8 *buf, uint32 size, char *error_buf, wasm_loader_load(uint8 *buf, uint32 size, char *error_buf,
uint32 error_buf_size) uint32 error_buf_size)
{ {
WASMModule *module = create_module(error_buf, error_buf_size); WASMModule *module = create_module(error_buf, error_buf_size);

View File

@ -45,7 +45,7 @@ set_error_buf_v(char *error_buf, uint32 error_buf_size, const char *format, ...)
} }
WASMModule * WASMModule *
wasm_load(const uint8 *buf, uint32 size, char *error_buf, uint32 error_buf_size) wasm_load(uint8 *buf, uint32 size, char *error_buf, uint32 error_buf_size)
{ {
return wasm_loader_load(buf, size, return wasm_loader_load(buf, size,
#if WASM_ENABLE_MULTI_MODULE != 0 #if WASM_ENABLE_MULTI_MODULE != 0

View File

@ -273,8 +273,7 @@ wasm_get_func_code_end(WASMFunctionInstance *func)
} }
WASMModule * WASMModule *
wasm_load(const uint8 *buf, uint32 size, char *error_buf, wasm_load(uint8 *buf, uint32 size, char *error_buf, uint32 error_buf_size);
uint32 error_buf_size);
WASMModule * WASMModule *
wasm_load_from_sections(WASMSection *section_list, char *error_buf, wasm_load_from_sections(WASMSection *section_list, char *error_buf,