summaryrefslogtreecommitdiff
path: root/src/binary-reader-objdump.cc
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2017-03-16 18:27:38 -0700
committerGitHub <noreply@github.com>2017-03-16 18:27:38 -0700
commit264a9505ecf8dc8834a2f9842793f6d91ad6803b (patch)
tree19099ff1c588f71655d680f047b698a02430180d /src/binary-reader-objdump.cc
parent5b642c3ce487b77102dec4fc4b55538cfbccc5ff (diff)
downloadwabt-264a9505ecf8dc8834a2f9842793f6d91ad6803b.tar.gz
wabt-264a9505ecf8dc8834a2f9842793f6d91ad6803b.tar.bz2
wabt-264a9505ecf8dc8834a2f9842793f6d91ad6803b.zip
Add callback for end opcode and end of function (#358)
Without this objdump doesn't show the final byte/opcode of each function.
Diffstat (limited to 'src/binary-reader-objdump.cc')
-rw-r--r--src/binary-reader-objdump.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/binary-reader-objdump.cc b/src/binary-reader-objdump.cc
index 5fd401c9..fa59b2b9 100644
--- a/src/binary-reader-objdump.cc
+++ b/src/binary-reader-objdump.cc
@@ -319,6 +319,12 @@ Result on_br_table_expr(BinaryReaderContext* ctx,
return Result::Ok;
}
+static Result on_end_func(void* user_data) {
+ Context* context = static_cast<Context*>(user_data);
+ log_opcode(context, nullptr, 0, nullptr);
+ return Result::Ok;
+}
+
static Result on_end_expr(void* user_data) {
Context* context = static_cast<Context*>(user_data);
context->indent_level--;
@@ -759,6 +765,7 @@ Result read_binary_objdump(const uint8_t* data,
reader.on_opcode_f64 = on_opcode_f64;
reader.on_opcode_block_sig = on_opcode_block_sig;
reader.on_end_expr = on_end_expr;
+ reader.on_end_func = on_end_func;
reader.on_br_table_expr = on_br_table_expr;
}