Преглед изворни кода

Fix ip (bytecode offset) not committed into the latest aot frame (#3213)

Wenyong Huang пре 1 година
родитељ
комит
b6216a5f8a
1 измењених фајлова са 6 додато и 6 уклоњено
  1. 6 6
      core/iwasm/compilation/aot_emit_exception.c

+ 6 - 6
core/iwasm/compilation/aot_emit_exception.c

@@ -88,6 +88,12 @@ aot_emit_exception(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
                 aot_set_last_error("llvm build phi failed.");
                 return false;
             }
+
+            /* Commit ip to current frame */
+            if (!commit_ip(comp_ctx, func_ctx, func_ctx->exception_ip_phi,
+                           is_64bit)) {
+                return false;
+            }
         }
 
         /* Call aot_set_exception_with_id() to throw exception */
@@ -154,12 +160,6 @@ aot_emit_exception(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
             return false;
         }
 
-        if (comp_ctx->aot_frame) {
-            if (!commit_ip(comp_ctx, func_ctx, func_ctx->exception_ip_phi,
-                           is_64bit))
-                return false;
-        }
-
         /* Create return IR */
         AOTFuncType *aot_func_type = func_ctx->aot_func->func_type;
         if (!aot_build_zero_function_ret(comp_ctx, func_ctx, aot_func_type)) {