From 25b300a54b2b0e74678bef67437e9155749813ae Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 14 Dec 2022 21:33:15 -0600 Subject: [PATCH] actually fixed the implicit structure debug info problem --- interpreter/src/debug/debug_runtime_values.c | 24 +++++++++++++++++-- shared/lib/linux_x86_64/lib/libovmwasm.so | Bin 256608 -> 256608 bytes 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/interpreter/src/debug/debug_runtime_values.c b/interpreter/src/debug/debug_runtime_values.c index 2e27764d..a11abcd2 100644 --- a/interpreter/src/debug/debug_runtime_values.c +++ b/interpreter/src/debug/debug_runtime_values.c @@ -334,6 +334,15 @@ static void append_value_from_register(debug_runtime_value_builder_t *builder, u debug_type_info_t *type = &builder->info->types[type_id]; if (type->kind == debug_type_kind_structure) { + if (!type->structure.simple) { + if (lookup_register_in_frame(builder->ovm_state, builder->ovm_frame, builder->base_loc, &value)) { + void *base = bh_pointer_add(builder->state->ovm_engine->memory, value.u32); + append_value_from_memory_with_type(builder, base, type_id); + } + + return; + } + WRITE("{ "); fori (i, 0, (i32) type->structure.member_count) { @@ -631,8 +640,19 @@ bool debug_runtime_value_build_step(debug_runtime_value_builder_t *builder) { builder->it_type = mem->type; if (builder->base_loc_kind == debug_sym_loc_register) { - builder->it_loc_kind = debug_sym_loc_register; - builder->it_loc = builder->base_loc + builder->it_index; + if (type->structure.simple) { + builder->it_loc_kind = debug_sym_loc_register; + builder->it_loc = builder->base_loc + builder->it_index; + + } else { + ovm_value_t value; + if (!lookup_register_in_frame(builder->ovm_state, builder->ovm_frame, builder->base_loc, &value)) { + return false; + } + + builder->it_loc_kind = debug_sym_loc_global; + builder->it_loc = value.u32 + mem->offset; + } } if (builder->base_loc_kind == debug_sym_loc_stack) { diff --git a/shared/lib/linux_x86_64/lib/libovmwasm.so b/shared/lib/linux_x86_64/lib/libovmwasm.so index cc82da38d61adbbf25ac32db844e420bf45a46e2..82cf2d25ae7500c21e484b92346fba063e657156 100755 GIT binary patch delta 3336 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 XZ}RSKHpZjYM7ssUP}bY*dsF@oIV*Fc -- 2.25.1