@@ -37,46 +37,6 @@ typedef float64 CellType_F64;
3737#define get_linear_mem_size () GET_LINEAR_MEMORY_SIZE(memory)
3838#endif
3939
40- #if WASM_ENABLE_SHARED_HEAP != 0
41- /* TODO: add code for 64 bit version when memory64 is enabled for fast-interp */
42- #define get_shared_heap_start_off (shared_heap ) (shared_heap->start_off_mem32)
43- /* Check whether the app addr in the last visited shared heap, if not, check the
44- * shared heap chain to find which(if any) shared heap the app addr in, and
45- * update the last visited shared heap info if found. */
46- #define app_addr_in_shared_heap (app_addr , bytes ) \
47- (shared_heap && (app_addr) >= shared_heap_start_off \
48- && (app_addr) <= shared_heap_end_off - bytes + 1) \
49- || ({ \
50- bool in_chain = false; \
51- WASMSharedHeap *cur; \
52- uint64 cur_shared_heap_start_off, cur_shared_heap_end_off; \
53- for (cur = shared_heap; cur; cur = cur->chain_next) { \
54- cur_shared_heap_start_off = get_shared_heap_start_off(cur); \
55- cur_shared_heap_end_off = \
56- cur_shared_heap_start_off - 1 + cur->size; \
57- if ((app_addr) >= cur_shared_heap_start_off \
58- && (app_addr) <= cur_shared_heap_end_off - bytes + 1) { \
59- shared_heap_start_off = cur_shared_heap_start_off; \
60- shared_heap_end_off = cur_shared_heap_end_off; \
61- shared_heap_base_addr = cur->base_addr; \
62- in_chain = true; \
63- break; \
64- } \
65- } \
66- in_chain; \
67- })
68-
69- #define shared_heap_addr_app_to_native (app_addr , native_addr ) \
70- native_addr = shared_heap_base_addr + ((app_addr)-shared_heap_start_off)
71-
72- #define CHECK_SHARED_HEAP_OVERFLOW (app_addr , bytes , native_addr ) \
73- if (app_addr_in_shared_heap(app_addr, bytes)) \
74- shared_heap_addr_app_to_native(app_addr, native_addr); \
75- else
76- #else
77- #define CHECK_SHARED_HEAP_OVERFLOW (app_addr , bytes , native_addr )
78- #endif
79-
8040#if !defined(OS_ENABLE_HW_BOUND_CHECK ) \
8141 || WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0
8242#define CHECK_MEMORY_OVERFLOW (bytes ) \
@@ -1562,6 +1522,12 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
15621522 bool is_return_call = false;
15631523#endif
15641524#if WASM_ENABLE_SHARED_HEAP != 0
1525+ /* TODO: currently flowing two variables are only dummy for shared heap
1526+ * boundary check, need to be updated when multi-memory or memory64
1527+ * proposals are to be implemented */
1528+ bool is_memory64 = false;
1529+ uint32 memidx = 0 ;
1530+
15651531 WASMSharedHeap * shared_heap = module -> e ? module -> e -> shared_heap : NULL ;
15661532 uint8 * shared_heap_base_addr = shared_heap ? shared_heap -> base_addr : NULL ;
15671533 uint64 shared_heap_start_off =
0 commit comments