@@ -6800,29 +6800,36 @@ wasm_loader_unload(WASMModule *module)
6800
6800
{
6801
6801
uint32 i;
6802
6802
6803
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6803
6804
if (!module)
6804
6805
return;
6805
6806
6807
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6806
6808
#if WASM_ENABLE_FAST_JIT != 0 && WASM_ENABLE_JIT != 0 \
6807
6809
&& WASM_ENABLE_LAZY_JIT != 0
6808
6810
module->orcjit_stop_compiling = true;
6809
6811
if (module->llvm_jit_init_thread)
6810
6812
os_thread_join(module->llvm_jit_init_thread, NULL);
6811
6813
#endif
6814
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6812
6815
6813
6816
#if WASM_ENABLE_FAST_JIT != 0 || WASM_ENABLE_JIT != 0
6814
6817
/* Stop Fast/LLVM JIT compilation firstly to avoid accessing
6815
6818
module internal data after they were freed */
6816
6819
orcjit_stop_compile_threads(module);
6817
6820
#endif
6821
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6818
6822
6819
6823
#if WASM_ENABLE_JIT != 0
6820
6824
if (module->func_ptrs)
6821
6825
wasm_runtime_free(module->func_ptrs);
6826
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6822
6827
if (module->comp_ctx)
6823
6828
aot_destroy_comp_context(module->comp_ctx);
6829
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6824
6830
if (module->comp_data)
6825
6831
aot_destroy_comp_data(module->comp_data);
6832
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6826
6833
#endif
6827
6834
6828
6835
#if WASM_ENABLE_FAST_JIT != 0 && WASM_ENABLE_JIT != 0 \
@@ -6832,15 +6839,21 @@ wasm_loader_unload(WASMModule *module)
6832
6839
os_cond_destroy(&module->tierup_wait_cond);
6833
6840
}
6834
6841
#endif
6842
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6835
6843
6836
6844
if (module->imports)
6837
6845
wasm_runtime_free(module->imports);
6838
6846
6847
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6839
6848
if (module->functions) {
6849
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6840
6850
for (i = 0; i < module->function_count; i++) {
6851
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6841
6852
if (module->functions[i]) {
6853
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6842
6854
if (module->functions[i]->local_offsets)
6843
6855
wasm_runtime_free(module->functions[i]->local_offsets);
6856
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6844
6857
#if WASM_ENABLE_FAST_INTERP != 0
6845
6858
if (module->functions[i]->code_compiled)
6846
6859
wasm_runtime_free(module->functions[i]->code_compiled);
@@ -6852,6 +6865,7 @@ wasm_loader_unload(WASMModule *module)
6852
6865
jit_code_cache_free(
6853
6866
module->functions[i]->fast_jit_jitted_code);
6854
6867
}
6868
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6855
6869
#if WASM_ENABLE_JIT != 0 && WASM_ENABLE_LAZY_JIT != 0
6856
6870
if (module->functions[i]->call_to_fast_jit_from_llvm_jit) {
6857
6871
jit_code_cache_free(
@@ -6865,32 +6879,47 @@ wasm_loader_unload(WASMModule *module)
6865
6879
module->functions[i]->local_ref_type_maps);
6866
6880
}
6867
6881
#endif
6882
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6868
6883
wasm_runtime_free(module->functions[i]);
6884
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6869
6885
}
6886
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6870
6887
}
6888
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6871
6889
wasm_runtime_free(module->functions);
6890
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6872
6891
}
6892
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6873
6893
6874
6894
if (module->tables) {
6895
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6875
6896
#if WASM_ENABLE_GC != 0
6876
6897
for (i = 0; i < module->table_count; i++) {
6877
6898
destroy_init_expr(module, &module->tables[i].init_expr);
6878
6899
}
6879
6900
#endif
6880
6901
wasm_runtime_free(module->tables);
6902
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6881
6903
}
6904
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6882
6905
6883
6906
if (module->memories)
6884
6907
wasm_runtime_free(module->memories);
6908
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6885
6909
6910
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6886
6911
if (module->globals) {
6912
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6887
6913
#if WASM_ENABLE_GC != 0
6888
6914
for (i = 0; i < module->global_count; i++) {
6889
6915
destroy_init_expr(module, &module->globals[i].init_expr);
6890
6916
}
6891
6917
#endif
6918
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6892
6919
wasm_runtime_free(module->globals);
6920
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6893
6921
}
6922
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6894
6923
6895
6924
#if WASM_ENABLE_TAGS != 0
6896
6925
if (module->tags) {
@@ -6902,8 +6931,10 @@ wasm_loader_unload(WASMModule *module)
6902
6931
}
6903
6932
#endif
6904
6933
6934
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6905
6935
if (module->exports)
6906
6936
wasm_runtime_free(module->exports);
6937
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6907
6938
6908
6939
if (module->table_segments) {
6909
6940
for (i = 0; i < module->table_seg_count; i++) {
@@ -6920,6 +6951,7 @@ wasm_loader_unload(WASMModule *module)
6920
6951
}
6921
6952
wasm_runtime_free(module->table_segments);
6922
6953
}
6954
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6923
6955
6924
6956
if (module->data_segments) {
6925
6957
for (i = 0; i < module->data_seg_count; i++) {
@@ -6931,6 +6963,7 @@ wasm_loader_unload(WASMModule *module)
6931
6963
}
6932
6964
wasm_runtime_free(module->data_segments);
6933
6965
}
6966
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6934
6967
6935
6968
if (module->types) {
6936
6969
for (i = 0; i < module->type_count; i++) {
@@ -6940,6 +6973,7 @@ wasm_loader_unload(WASMModule *module)
6940
6973
wasm_runtime_free(module->types);
6941
6974
}
6942
6975
6976
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6943
6977
if (module->const_str_list) {
6944
6978
StringNode *node = module->const_str_list, *node_next;
6945
6979
while (node) {
@@ -6949,6 +6983,7 @@ wasm_loader_unload(WASMModule *module)
6949
6983
}
6950
6984
}
6951
6985
6986
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6952
6987
#if WASM_ENABLE_STRINGREF != 0
6953
6988
if (module->string_literal_ptrs) {
6954
6989
wasm_runtime_free((void *)module->string_literal_ptrs);
@@ -6958,6 +6993,7 @@ wasm_loader_unload(WASMModule *module)
6958
6993
}
6959
6994
#endif
6960
6995
6996
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6961
6997
#if WASM_ENABLE_FAST_INTERP == 0
6962
6998
if (module->br_table_cache_list) {
6963
6999
BrTableCache *node = bh_list_first_elem(module->br_table_cache_list);
@@ -6970,6 +7006,7 @@ wasm_loader_unload(WASMModule *module)
6970
7006
}
6971
7007
#endif
6972
7008
7009
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6973
7010
#if WASM_ENABLE_MULTI_MODULE != 0
6974
7011
/* just release the sub module list */
6975
7012
if (module->import_module_list) {
@@ -6992,6 +7029,7 @@ wasm_loader_unload(WASMModule *module)
6992
7029
}
6993
7030
}
6994
7031
#endif
7032
+ LOG_DEBUG("%s %d", __func__, __LINE__);
6995
7033
6996
7034
#if WASM_ENABLE_DEBUG_INTERP != 0
6997
7035
WASMFastOPCodeNode *fast_opcode =
@@ -7002,16 +7040,19 @@ wasm_loader_unload(WASMModule *module)
7002
7040
fast_opcode = next;
7003
7041
}
7004
7042
#endif
7043
+ LOG_DEBUG("%s %d", __func__, __LINE__);
7005
7044
7006
7045
#if WASM_ENABLE_DEBUG_INTERP != 0 \
7007
7046
|| (WASM_ENABLE_FAST_JIT != 0 && WASM_ENABLE_JIT != 0 \
7008
7047
&& WASM_ENABLE_LAZY_JIT != 0)
7009
7048
os_mutex_destroy(&module->instance_list_lock);
7010
7049
#endif
7050
+ LOG_DEBUG("%s %d", __func__, __LINE__);
7011
7051
7012
7052
#if WASM_ENABLE_LOAD_CUSTOM_SECTION != 0
7013
7053
wasm_runtime_destroy_custom_sections(module->custom_section_list);
7014
7054
#endif
7055
+ LOG_DEBUG("%s %d", __func__, __LINE__);
7015
7056
7016
7057
#if WASM_ENABLE_FAST_JIT != 0
7017
7058
if (module->fast_jit_func_ptrs) {
@@ -7043,7 +7084,9 @@ wasm_loader_unload(WASMModule *module)
7043
7084
#endif
7044
7085
#endif
7045
7086
7087
+ LOG_DEBUG("%s %d", __func__, __LINE__);
7046
7088
wasm_runtime_free(module);
7089
+ LOG_DEBUG("%s %d", __func__, __LINE__);
7047
7090
}
7048
7091
7049
7092
bool
0 commit comments