2020-03-10 11:54:44 +00:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
|
|
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _WASM_MEMORY_H
|
|
|
|
#define _WASM_MEMORY_H
|
|
|
|
|
|
|
|
#include "bh_common.h"
|
|
|
|
#include "../include/wasm_export.h"
|
2023-03-04 00:15:26 +00:00
|
|
|
#include "../interpreter/wasm_runtime.h"
|
2020-03-10 11:54:44 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2023-11-29 12:27:17 +00:00
|
|
|
#if WASM_ENABLE_SHARED_MEMORY != 0
|
|
|
|
#define GET_LINEAR_MEMORY_SIZE(memory) \
|
|
|
|
BH_ATOMIC_32_LOAD(memory->memory_data_size)
|
|
|
|
#define SET_LINEAR_MEMORY_SIZE(memory, size) \
|
|
|
|
BH_ATOMIC_32_STORE(memory->memory_data_size, size)
|
|
|
|
#else
|
|
|
|
#define GET_LINEAR_MEMORY_SIZE(memory) memory->memory_data_size
|
|
|
|
#define SET_LINEAR_MEMORY_SIZE(memory, size) memory->memory_data_size = size
|
|
|
|
#endif
|
|
|
|
|
2020-03-10 11:54:44 +00:00
|
|
|
bool
|
|
|
|
wasm_runtime_memory_init(mem_alloc_type_t mem_alloc_type,
|
|
|
|
const MemAllocOption *alloc_option);
|
|
|
|
|
|
|
|
void
|
|
|
|
wasm_runtime_memory_destroy();
|
|
|
|
|
2022-05-07 08:09:16 +00:00
|
|
|
unsigned
|
|
|
|
wasm_runtime_memory_pool_size();
|
|
|
|
|
2023-10-30 03:07:01 +00:00
|
|
|
void
|
|
|
|
wasm_runtime_set_mem_bound_check_bytes(WASMMemoryInstance *memory,
|
|
|
|
uint64 memory_data_size);
|
|
|
|
|
2023-09-05 08:41:52 +00:00
|
|
|
void
|
|
|
|
wasm_runtime_set_enlarge_mem_error_callback(
|
2023-09-13 10:03:49 +00:00
|
|
|
const enlarge_memory_error_callback_t callback, void *user_data);
|
2023-09-05 08:41:52 +00:00
|
|
|
|
2024-02-02 14:17:44 +00:00
|
|
|
void
|
|
|
|
wasm_deallocate_linear_memory(WASMMemoryInstance *memory_inst);
|
|
|
|
|
|
|
|
int
|
|
|
|
wasm_allocate_linear_memory(uint8 **data, bool is_shared_memory,
|
|
|
|
uint64 num_bytes_per_page, uint64 init_page_count,
|
|
|
|
uint64 max_page_count, uint64 *memory_data_size);
|
|
|
|
|
2020-03-10 11:54:44 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* end of _WASM_MEMORY_H */
|