mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-06-18 02:59:21 +00:00
aot_compile_op_call: Remove a wrong optimization (#2233)
Unlike a tail-call, the caller of an ordinary recursive call doesn't necessarily return immediately.
This commit is contained in:
parent
7c766c2283
commit
94204b90ad
|
@ -868,10 +868,6 @@ aot_compile_op_call(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
|
||||||
#if LLVM_VERSION_MAJOR >= 14
|
#if LLVM_VERSION_MAJOR >= 14
|
||||||
LLVMTypeRef llvm_func_type;
|
LLVMTypeRef llvm_func_type;
|
||||||
#endif
|
#endif
|
||||||
bool recursive_call =
|
|
||||||
(func_ctx == func_ctxes[func_idx - import_func_count]) ? true
|
|
||||||
: false;
|
|
||||||
|
|
||||||
if (comp_ctx->is_indirect_mode) {
|
if (comp_ctx->is_indirect_mode) {
|
||||||
LLVMTypeRef func_ptr_type;
|
LLVMTypeRef func_ptr_type;
|
||||||
|
|
||||||
|
@ -971,7 +967,7 @@ aot_compile_op_call(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
|
||||||
|
|
||||||
/* Check whether there was exception thrown when executing
|
/* Check whether there was exception thrown when executing
|
||||||
the function */
|
the function */
|
||||||
if (!tail_call && !recursive_call && comp_ctx->enable_bound_check
|
if (!tail_call && comp_ctx->enable_bound_check
|
||||||
&& !check_exception_thrown(comp_ctx, func_ctx))
|
&& !check_exception_thrown(comp_ctx, func_ctx))
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user