XIP adaptation for xtensa platform (#1636)
Add macro WASM_ENABLE_WORD_ALING_READ to enable reading 1/2/4 and n bytes data from vram buffer, which requires 4-byte addr alignment reading. Eliminate XIP AOT relocations related to the below ones: i32_div_u, f32_min, f32_max, f32_ceil, f32_floor, f32_trunc, f32_rint
This commit is contained in:
committed by
GitHub
parent
dba9e52f2f
commit
e517dbc7b2
@ -19,6 +19,13 @@ extern "C" {
|
||||
bh_assert(_ret == 0); \
|
||||
} while (0)
|
||||
|
||||
#define bh_memcpy_wa(dest, dlen, src, slen) \
|
||||
do { \
|
||||
int _ret = slen == 0 ? 0 : b_memcpy_wa(dest, dlen, src, slen); \
|
||||
(void)_ret; \
|
||||
bh_assert(_ret == 0); \
|
||||
} while (0)
|
||||
|
||||
#define bh_memmove_s(dest, dlen, src, slen) \
|
||||
do { \
|
||||
int _ret = slen == 0 ? 0 : b_memmove_s(dest, dlen, src, slen); \
|
||||
@ -43,6 +50,8 @@ extern "C" {
|
||||
int
|
||||
b_memcpy_s(void *s1, unsigned int s1max, const void *s2, unsigned int n);
|
||||
int
|
||||
b_memcpy_wa(void *s1, unsigned int s1max, const void *s2, unsigned int n);
|
||||
int
|
||||
b_memmove_s(void *s1, unsigned int s1max, const void *s2, unsigned int n);
|
||||
int
|
||||
b_strcat_s(char *s1, unsigned int s1max, const char *s2);
|
||||
|
||||
Reference in New Issue
Block a user