mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-09 13:16:26 +00:00
aot_runtime.c: Add static assertions for some offset assumptions (#1103)
This commit is contained in:
parent
b36931a589
commit
0f505aafd9
|
@ -14,6 +14,22 @@
|
||||||
#include "../libraries/thread-mgr/thread_manager.h"
|
#include "../libraries/thread-mgr/thread_manager.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Note: These offsets need to match the values hardcoded in
|
||||||
|
* AoT compilation code: aot_create_func_context, check_suspend_flags.
|
||||||
|
*/
|
||||||
|
|
||||||
|
bh_static_assert(offsetof(WASMExecEnv, module_inst) == 2 * sizeof(uintptr_t));
|
||||||
|
bh_static_assert(offsetof(WASMExecEnv, argv_buf) == 3 * sizeof(uintptr_t));
|
||||||
|
bh_static_assert(offsetof(WASMExecEnv, native_stack_boundary)
|
||||||
|
== 4 * sizeof(uintptr_t));
|
||||||
|
bh_static_assert(offsetof(WASMExecEnv, suspend_flags) == 5 * sizeof(uintptr_t));
|
||||||
|
bh_static_assert(offsetof(WASMExecEnv, aux_stack_boundary)
|
||||||
|
== 6 * sizeof(uintptr_t));
|
||||||
|
bh_static_assert(offsetof(WASMExecEnv, aux_stack_bottom)
|
||||||
|
== 7 * sizeof(uintptr_t));
|
||||||
|
bh_static_assert(offsetof(WASMExecEnv, native_symbol) == 8 * sizeof(uintptr_t));
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_error_buf(char *error_buf, uint32 error_buf_size, const char *string)
|
set_error_buf(char *error_buf, uint32 error_buf_size, const char *string)
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,6 +22,19 @@ bh_assert_internal(int v, const char *file_name, int line_number,
|
||||||
#define bh_assert(expr) (void)0
|
#define bh_assert(expr) (void)0
|
||||||
#endif /* end of BH_DEBUG */
|
#endif /* end of BH_DEBUG */
|
||||||
|
|
||||||
|
#if !defined(__has_extension)
|
||||||
|
#define __has_extension(a) 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __STDC_VERSION__ >= 201112L \
|
||||||
|
|| (defined(__GNUC__) && __GNUC__ * 0x100 + __GNUC_MINOR__ >= 0x406) \
|
||||||
|
|| __has_extension(c_static_assert)
|
||||||
|
|
||||||
|
#define bh_static_assert(expr) _Static_assert(expr, #expr)
|
||||||
|
#else
|
||||||
|
#define bh_static_assert(expr) /* nothing */
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user