Make memory profiling show native stack usage (#1917)
This commit is contained in:
@ -30,6 +30,8 @@ bh_static_assert(offsetof(WASMExecEnv, aux_stack_boundary)
|
||||
bh_static_assert(offsetof(WASMExecEnv, aux_stack_bottom)
|
||||
== 7 * sizeof(uintptr_t));
|
||||
bh_static_assert(offsetof(WASMExecEnv, native_symbol) == 8 * sizeof(uintptr_t));
|
||||
bh_static_assert(offsetof(WASMExecEnv, native_stack_top_min)
|
||||
== 9 * sizeof(uintptr_t));
|
||||
|
||||
bh_static_assert(offsetof(AOTModuleInstance, memories) == 1 * sizeof(uint64));
|
||||
bh_static_assert(offsetof(AOTModuleInstance, func_ptrs) == 5 * sizeof(uint64));
|
||||
@ -1257,6 +1259,7 @@ invoke_native_with_hw_bound_check(WASMExecEnv *exec_env, void *func_ptr,
|
||||
/* Check native stack overflow firstly to ensure we have enough
|
||||
native stack to run the following codes before actually calling
|
||||
the aot function in invokeNative function. */
|
||||
RECORD_STACK_USAGE(exec_env, (uint8 *)&module_inst);
|
||||
if ((uint8 *)&module_inst < exec_env->native_stack_boundary
|
||||
+ page_size * (guard_page_count + 1)) {
|
||||
aot_set_exception_with_id(module_inst, EXCE_NATIVE_STACK_OVERFLOW);
|
||||
@ -1856,6 +1859,7 @@ aot_call_indirect(WASMExecEnv *exec_env, uint32 tbl_idx, uint32 table_elem_idx,
|
||||
exec_env->native_stack_boundary must have been set, we don't set
|
||||
it again */
|
||||
|
||||
RECORD_STACK_USAGE(exec_env, (uint8 *)&module_inst);
|
||||
if ((uint8 *)&module_inst < exec_env->native_stack_boundary) {
|
||||
aot_set_exception_with_id(module_inst, EXCE_NATIVE_STACK_OVERFLOW);
|
||||
goto fail;
|
||||
|
||||
Reference in New Issue
Block a user