diff options
author | Ben Smith <binjimin@gmail.com> | 2017-03-02 23:14:31 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-02 23:14:31 -0800 |
commit | 2759d4646d9ec9fdb37a4b0b7ba40a972dd509de (patch) | |
tree | 986d11d9fd431ae53b6eab17757aa7e32d3af39f /src/binary-reader-objdump.cc | |
parent | 73fc2e25a9d49aa2188ed1ca25260ba76a475df3 (diff) | |
download | wabt-2759d4646d9ec9fdb37a4b0b7ba40a972dd509de.tar.gz wabt-2759d4646d9ec9fdb37a4b0b7ba40a972dd509de.tar.bz2 wabt-2759d4646d9ec9fdb37a4b0b7ba40a972dd509de.zip |
Replace the Wabt/wabt prefix with a C++ namespace (#331)
Diffstat (limited to 'src/binary-reader-objdump.cc')
-rw-r--r-- | src/binary-reader-objdump.cc | 483 |
1 files changed, 240 insertions, 243 deletions
diff --git a/src/binary-reader-objdump.cc b/src/binary-reader-objdump.cc index 67e53528..d2a9de97 100644 --- a/src/binary-reader-objdump.cc +++ b/src/binary-reader-objdump.cc @@ -25,15 +25,17 @@ #include "literal.h" #include "vector.h" +namespace wabt { + typedef uint32_t Uint32; WABT_DEFINE_VECTOR(uint32, Uint32); struct Context { - WabtObjdumpOptions* options; - WabtStream* out_stream; + ObjdumpOptions* options; + Stream* out_stream; const uint8_t* data; size_t size; - WabtOpcode current_opcode; + Opcode current_opcode; size_t current_opcode_offset; size_t last_opcode_end; int indent_level; @@ -41,17 +43,17 @@ struct Context { bool header_printed; int section_found; - uint32_t section_starts[kWabtBinarySectionCount]; - WabtBinarySection reloc_section; + uint32_t section_starts[kBinarySectionCount]; + BinarySection reloc_section; - WabtStringSlice import_module_name; - WabtStringSlice import_field_name; + StringSlice import_module_name; + StringSlice import_field_name; uint32_t next_reloc; }; static bool should_print_details(Context* ctx) { - if (ctx->options->mode != WabtObjdumpMode::Details) + if (ctx->options->mode != ObjdumpMode::Details) return false; return ctx->print_details; } @@ -66,74 +68,73 @@ static void WABT_PRINTF_FORMAT(2, 3) va_end(args); } -static WabtResult begin_section(WabtBinaryReaderContext* ctx, - WabtBinarySection section_code, - uint32_t size) { +static Result begin_section(BinaryReaderContext* ctx, + BinarySection section_code, + uint32_t size) { Context* context = static_cast<Context*>(ctx->user_data); context->section_starts[static_cast<size_t>(section_code)] = ctx->offset; - const char* name = wabt_get_section_name(section_code); + const char* name = get_section_name(section_code); bool section_match = !context->options->section_name || - !strcasecmp(context->options->section_name, name); + !strcasecmp(context->options->section_name, name); if (section_match) context->section_found = true; switch (context->options->mode) { - case WabtObjdumpMode::Prepass: + case ObjdumpMode::Prepass: break; - case WabtObjdumpMode::Headers: - printf("%9s start=%#010" PRIzx " end=%#010" PRIzx " (size=%#010x) ", - name, ctx->offset, ctx->offset + size, size); + case ObjdumpMode::Headers: + printf("%9s start=%#010" PRIzx " end=%#010" PRIzx " (size=%#010x) ", name, + ctx->offset, ctx->offset + size, size); break; - case WabtObjdumpMode::Details: + case ObjdumpMode::Details: if (section_match) { - if (section_code != WabtBinarySection::Code) + if (section_code != BinarySection::Code) printf("%s:\n", name); context->print_details = true; } else { context->print_details = false; } break; - case WabtObjdumpMode::RawData: + case ObjdumpMode::RawData: if (section_match) { printf("\nContents of section %s:\n", name); - wabt_write_memory_dump(context->out_stream, context->data + ctx->offset, - size, ctx->offset, WabtPrintChars::Yes, nullptr, - nullptr); + write_memory_dump(context->out_stream, context->data + ctx->offset, + size, ctx->offset, PrintChars::Yes, nullptr, nullptr); } break; - case WabtObjdumpMode::Disassemble: + case ObjdumpMode::Disassemble: break; } - return WabtResult::Ok; + return Result::Ok; } -static WabtResult begin_custom_section(WabtBinaryReaderContext* ctx, - uint32_t size, - WabtStringSlice section_name) { +static Result begin_custom_section(BinaryReaderContext* ctx, + uint32_t size, + StringSlice section_name) { Context* context = static_cast<Context*>(ctx->user_data); print_details(context, " - name: \"" PRIstringslice "\"\n", WABT_PRINTF_STRING_SLICE_ARG(section_name)); - if (context->options->mode == WabtObjdumpMode::Headers) { + if (context->options->mode == ObjdumpMode::Headers) { printf("\"" PRIstringslice "\"\n", WABT_PRINTF_STRING_SLICE_ARG(section_name)); } - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_count(uint32_t count, void* user_data) { +static Result on_count(uint32_t count, void* user_data) { Context* ctx = static_cast<Context*>(user_data); - if (ctx->options->mode == WabtObjdumpMode::Headers) { + if (ctx->options->mode == ObjdumpMode::Headers) { printf("count: %d\n", count); } - return WabtResult::Ok; + return Result::Ok; } -static WabtResult begin_module(uint32_t version, void* user_data) { +static Result begin_module(uint32_t version, void* user_data) { Context* ctx = static_cast<Context*>(user_data); if (ctx->options->print_header) { - const char *basename = strrchr(ctx->options->infile, '/'); + const char* basename = strrchr(ctx->options->infile, '/'); if (basename) basename++; else @@ -143,43 +144,43 @@ static WabtResult begin_module(uint32_t version, void* user_data) { } switch (ctx->options->mode) { - case WabtObjdumpMode::Headers: + case ObjdumpMode::Headers: printf("\n"); printf("Sections:\n\n"); break; - case WabtObjdumpMode::Details: + case ObjdumpMode::Details: printf("\n"); printf("Section Details:\n\n"); break; - case WabtObjdumpMode::Disassemble: + case ObjdumpMode::Disassemble: printf("\n"); printf("Code Disassembly:\n\n"); break; - case WabtObjdumpMode::RawData: - case WabtObjdumpMode::Prepass: + case ObjdumpMode::RawData: + case ObjdumpMode::Prepass: break; } - return WabtResult::Ok; + return Result::Ok; } -static WabtResult end_module(void *user_data) { +static Result end_module(void* user_data) { Context* ctx = static_cast<Context*>(user_data); if (ctx->options->section_name) { if (!ctx->section_found) { printf("Section not found: %s\n", ctx->options->section_name); - return WabtResult::Error; + return Result::Error; } } - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_opcode(WabtBinaryReaderContext* ctx, WabtOpcode opcode) { +static Result on_opcode(BinaryReaderContext* ctx, Opcode opcode) { Context* context = static_cast<Context*>(ctx->user_data); if (context->options->debug) { - const char* opcode_name = wabt_get_opcode_name(opcode); + const char* opcode_name = get_opcode_name(opcode); printf("on_opcode: %#" PRIzx ": %s\n", ctx->offset, opcode_name); } @@ -187,18 +188,18 @@ static WabtResult on_opcode(WabtBinaryReaderContext* ctx, WabtOpcode opcode) { if (ctx->offset != context->last_opcode_end + 1) { uint8_t missing_opcode = ctx->data[context->last_opcode_end]; const char* opcode_name = - wabt_get_opcode_name(static_cast<WabtOpcode>(missing_opcode)); + get_opcode_name(static_cast<Opcode>(missing_opcode)); fprintf(stderr, "warning: %#" PRIzx " missing opcode callback at %#" PRIzx " (%#02x=%s)\n", ctx->offset, context->last_opcode_end + 1, ctx->data[context->last_opcode_end], opcode_name); - return WabtResult::Error; + return Result::Error; } } context->current_opcode_offset = ctx->offset; context->current_opcode = opcode; - return WabtResult::Ok; + return Result::Ok; } #define IMMEDIATE_OCTET_COUNT 9 @@ -225,13 +226,13 @@ static void log_opcode(Context* ctx, // Print disassemble int j; int indent_level = ctx->indent_level; - if (ctx->current_opcode == WabtOpcode::Else) + if (ctx->current_opcode == Opcode::Else) indent_level--; for (j = 0; j < indent_level; j++) { printf(" "); } - const char* opcode_name = wabt_get_opcode_name(ctx->current_opcode); + const char* opcode_name = get_opcode_name(ctx->current_opcode); printf("%s", opcode_name); if (fmt) { printf(" "); @@ -247,101 +248,97 @@ static void log_opcode(Context* ctx, if (ctx->options->relocs) { if (ctx->next_reloc < ctx->options->code_relocations.size) { - WabtReloc* reloc = &ctx->options->code_relocations.data[ctx->next_reloc]; + Reloc* reloc = &ctx->options->code_relocations.data[ctx->next_reloc]; size_t code_start = - ctx->section_starts[static_cast<size_t>(WabtBinarySection::Code)]; + ctx->section_starts[static_cast<size_t>(BinarySection::Code)]; size_t abs_offset = code_start + reloc->offset; if (ctx->last_opcode_end > abs_offset) { printf(" %06" PRIzx ": %s\n", abs_offset, - wabt_get_reloc_type_name(reloc->type)); + get_reloc_type_name(reloc->type)); ctx->next_reloc++; } } } } -static WabtResult on_opcode_bare(WabtBinaryReaderContext* ctx) { +static Result on_opcode_bare(BinaryReaderContext* ctx) { Context* context = static_cast<Context*>(ctx->user_data); log_opcode(context, ctx->data, 0, nullptr); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_opcode_uint32(WabtBinaryReaderContext* ctx, - uint32_t value) { +static Result on_opcode_uint32(BinaryReaderContext* ctx, uint32_t value) { Context* context = static_cast<Context*>(ctx->user_data); size_t immediate_len = ctx->offset - context->current_opcode_offset; log_opcode(context, ctx->data, immediate_len, "%#x", value); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_opcode_uint32_uint32(WabtBinaryReaderContext* ctx, - uint32_t value, - uint32_t value2) { +static Result on_opcode_uint32_uint32(BinaryReaderContext* ctx, + uint32_t value, + uint32_t value2) { Context* context = static_cast<Context*>(ctx->user_data); size_t immediate_len = ctx->offset - context->current_opcode_offset; log_opcode(context, ctx->data, immediate_len, "%lu %lu", value, value2); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_opcode_uint64(WabtBinaryReaderContext* ctx, - uint64_t value) { +static Result on_opcode_uint64(BinaryReaderContext* ctx, uint64_t value) { Context* context = static_cast<Context*>(ctx->user_data); size_t immediate_len = ctx->offset - context->current_opcode_offset; log_opcode(context, ctx->data, immediate_len, "%d", value); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_opcode_f32(WabtBinaryReaderContext* ctx, - uint32_t value) { +static Result on_opcode_f32(BinaryReaderContext* ctx, uint32_t value) { Context* context = static_cast<Context*>(ctx->user_data); size_t immediate_len = ctx->offset - context->current_opcode_offset; char buffer[WABT_MAX_FLOAT_HEX]; - wabt_write_float_hex(buffer, sizeof(buffer), value); + write_float_hex(buffer, sizeof(buffer), value); log_opcode(context, ctx->data, immediate_len, buffer); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_opcode_f64(WabtBinaryReaderContext* ctx, - uint64_t value) { +static Result on_opcode_f64(BinaryReaderContext* ctx, uint64_t value) { Context* context = static_cast<Context*>(ctx->user_data); size_t immediate_len = ctx->offset - context->current_opcode_offset; char buffer[WABT_MAX_DOUBLE_HEX]; - wabt_write_double_hex(buffer, sizeof(buffer), value); + write_double_hex(buffer, sizeof(buffer), value); log_opcode(context, ctx->data, immediate_len, buffer); - return WabtResult::Ok; + return Result::Ok; } -WabtResult on_br_table_expr(WabtBinaryReaderContext* ctx, - uint32_t num_targets, - uint32_t* target_depths, - uint32_t default_target_depth) { +Result on_br_table_expr(BinaryReaderContext* ctx, + uint32_t num_targets, + uint32_t* target_depths, + uint32_t default_target_depth) { Context* context = static_cast<Context*>(ctx->user_data); size_t immediate_len = ctx->offset - context->current_opcode_offset; /* TODO(sbc): Print targets */ log_opcode(context, ctx->data, immediate_len, nullptr); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_end_expr(void* user_data) { +static Result on_end_expr(void* user_data) { Context* context = static_cast<Context*>(user_data); context->indent_level--; assert(context->indent_level >= 0); log_opcode(context, nullptr, 0, nullptr); - return WabtResult::Ok; + return Result::Ok; } -static const char* wabt_type_name(WabtType type) { +static const char* type_name(Type type) { switch (type) { - case WabtType::I32: + case Type::I32: return "i32"; - case WabtType::I64: + case Type::I64: return "i64"; - case WabtType::F32: + case Type::F32: return "f32"; - case WabtType::F64: + case Type::F64: return "f64"; default: @@ -350,58 +347,58 @@ static const char* wabt_type_name(WabtType type) { } } -static WabtResult on_opcode_block_sig(WabtBinaryReaderContext* ctx, - uint32_t num_types, - WabtType* sig_types) { +static Result on_opcode_block_sig(BinaryReaderContext* ctx, + uint32_t num_types, + Type* sig_types) { Context* context = static_cast<Context*>(ctx->user_data); if (num_types) - log_opcode(context, ctx->data, 1, "%s", wabt_type_name(*sig_types)); + log_opcode(context, ctx->data, 1, "%s", type_name(*sig_types)); else log_opcode(context, ctx->data, 1, nullptr); context->indent_level++; - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_signature(uint32_t index, - uint32_t param_count, - WabtType* param_types, - uint32_t result_count, - WabtType* result_types, - void* user_data) { +static Result on_signature(uint32_t index, + uint32_t param_count, + Type* param_types, + uint32_t result_count, + Type* result_types, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); if (!should_print_details(ctx)) - return WabtResult::Ok; + return Result::Ok; printf(" - [%d] (", index); uint32_t i; for (i = 0; i < param_count; i++) { if (i != 0) { printf(", "); } - printf("%s", wabt_type_name(param_types[i])); + printf("%s", type_name(param_types[i])); } printf(") -> "); if (result_count) - printf("%s", wabt_type_name(result_types[0])); + printf("%s", type_name(result_types[0])); else printf("nil"); printf("\n"); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_function_signature(uint32_t index, - uint32_t sig_index, - void* user_data) { +static Result on_function_signature(uint32_t index, + uint32_t sig_index, + void* user_data) { print_details(static_cast<Context*>(user_data), " - func[%d] sig=%d\n", index, sig_index); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult begin_function_body(WabtBinaryReaderContext* context, - uint32_t index) { +static Result begin_function_body(BinaryReaderContext* context, + uint32_t index) { Context* ctx = static_cast<Context*>(context->user_data); - if (ctx->options->mode == WabtObjdumpMode::Disassemble) { + if (ctx->options->mode == ObjdumpMode::Disassemble) { if (index < ctx->options->function_names.size) printf("%06" PRIzx " <" PRIstringslice ">:\n", context->offset, WABT_PRINTF_STRING_SLICE_ARG( @@ -411,261 +408,259 @@ static WabtResult begin_function_body(WabtBinaryReaderContext* context, } ctx->last_opcode_end = 0; - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_import(uint32_t index, - WabtStringSlice module_name, - WabtStringSlice field_name, - void* user_data) { +static Result on_import(uint32_t index, + StringSlice module_name, + StringSlice field_name, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); ctx->import_module_name = module_name; ctx->import_field_name = field_name; - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_import_func(uint32_t import_index, - uint32_t func_index, - uint32_t sig_index, - void* user_data) { +static Result on_import_func(uint32_t import_index, + uint32_t func_index, + uint32_t sig_index, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - func[%d] sig=%d <- " PRIstringslice "." PRIstringslice "\n", func_index, sig_index, WABT_PRINTF_STRING_SLICE_ARG(ctx->import_module_name), WABT_PRINTF_STRING_SLICE_ARG(ctx->import_field_name)); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_import_table(uint32_t import_index, - uint32_t table_index, - WabtType elem_type, - const WabtLimits* elem_limits, - void* user_data) { +static Result on_import_table(uint32_t import_index, + uint32_t table_index, + Type elem_type, + const Limits* elem_limits, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details( ctx, " - " PRIstringslice "." PRIstringslice " -> table elem_type=%s init=%" PRId64 " max=%" PRId64 "\n", WABT_PRINTF_STRING_SLICE_ARG(ctx->import_module_name), WABT_PRINTF_STRING_SLICE_ARG(ctx->import_field_name), - wabt_get_type_name(elem_type), elem_limits->initial, elem_limits->max); - return WabtResult::Ok; + get_type_name(elem_type), elem_limits->initial, elem_limits->max); + return Result::Ok; } -static WabtResult on_import_memory(uint32_t import_index, - uint32_t memory_index, - const WabtLimits* page_limits, - void* user_data) { +static Result on_import_memory(uint32_t import_index, + uint32_t memory_index, + const Limits* page_limits, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - " PRIstringslice "." PRIstringslice " -> memory\n", WABT_PRINTF_STRING_SLICE_ARG(ctx->import_module_name), WABT_PRINTF_STRING_SLICE_ARG(ctx->import_field_name)); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_import_global(uint32_t import_index, - uint32_t global_index, - WabtType type, - bool mutable_, - void* user_data) { +static Result on_import_global(uint32_t import_index, + uint32_t global_index, + Type type, + bool mutable_, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - global[%d] %s mutable=%d <- " PRIstringslice "." PRIstringslice "\n", - global_index, wabt_get_type_name(type), mutable_, + global_index, get_type_name(type), mutable_, WABT_PRINTF_STRING_SLICE_ARG(ctx->import_module_name), WABT_PRINTF_STRING_SLICE_ARG(ctx->import_field_name)); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_memory(uint32_t index, - const WabtLimits* page_limits, - void* user_data) { +static Result on_memory(uint32_t index, + const Limits* page_limits, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - memory[%d] pages: initial=%" PRId64, index, page_limits->initial); if (page_limits->has_max) print_details(ctx, " max=%" PRId64, page_limits->max); print_details(ctx, "\n"); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_table(uint32_t index, - WabtType elem_type, - const WabtLimits* elem_limits, - void* user_data) { +static Result on_table(uint32_t index, + Type elem_type, + const Limits* elem_limits, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - table[%d] type=%s initial=%" PRId64, index, - wabt_get_type_name(elem_type), elem_limits->initial); + get_type_name(elem_type), elem_limits->initial); if (elem_limits->has_max) print_details(ctx, " max=%" PRId64, elem_limits->max); print_details(ctx, "\n"); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_export(uint32_t index, - WabtExternalKind kind, - uint32_t item_index, - WabtStringSlice name, - void* user_data) { +static Result on_export(uint32_t index, + ExternalKind kind, + uint32_t item_index, + StringSlice name, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); - print_details(ctx, " - %s[%d] ", wabt_get_kind_name(kind), item_index); + print_details(ctx, " - %s[%d] ", get_kind_name(kind), item_index); print_details(ctx, PRIstringslice, WABT_PRINTF_STRING_SLICE_ARG(name)); print_details(ctx, "\n"); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_elem_segment_function_index(uint32_t index, - uint32_t func_index, - void* user_data) { +static Result on_elem_segment_function_index(uint32_t index, + uint32_t func_index, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - func[%d]\n", func_index); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult begin_elem_segment(uint32_t index, - uint32_t table_index, - void* user_data) { +static Result begin_elem_segment(uint32_t index, + uint32_t table_index, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - segment[%d] table=%d\n", index, table_index); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult begin_global(uint32_t index, - WabtType type, - bool mutable_, - void* user_data) { +static Result begin_global(uint32_t index, + Type type, + bool mutable_, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); - print_details(ctx, " - global[%d] %s mutable=%d", index, - wabt_get_type_name(type), mutable_); - return WabtResult::Ok; + print_details(ctx, " - global[%d] %s mutable=%d", index, get_type_name(type), + mutable_); + return Result::Ok; } -static WabtResult on_init_expr_f32_const_expr(uint32_t index, - uint32_t value, - void* user_data) { +static Result on_init_expr_f32_const_expr(uint32_t index, + uint32_t value, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); char buffer[WABT_MAX_FLOAT_HEX]; - wabt_write_float_hex(buffer, sizeof(buffer), value); + write_float_hex(buffer, sizeof(buffer), value); print_details(ctx, " - init f32=%s\n", buffer); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_init_expr_f64_const_expr(uint32_t index, - uint64_t value, - void* user_data) { +static Result on_init_expr_f64_const_expr(uint32_t index, + uint64_t value, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); char buffer[WABT_MAX_DOUBLE_HEX]; - wabt_write_float_hex(buffer, sizeof(buffer), value); + write_float_hex(buffer, sizeof(buffer), value); print_details(ctx, " - init f64=%s\n", buffer); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_init_expr_get_global_expr(uint32_t index, - uint32_t global_index, - void* user_data) { +static Result on_init_expr_get_global_expr(uint32_t index, + uint32_t global_index, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - init global=%d\n", global_index); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_init_expr_i32_const_expr(uint32_t index, - uint32_t value, - void* user_data) { +static Result on_init_expr_i32_const_expr(uint32_t index, + uint32_t value, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - init i32=%d\n", value); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_init_expr_i64_const_expr(uint32_t index, - uint64_t value, - void* user_data) { +static Result on_init_expr_i64_const_expr(uint32_t index, + uint64_t value, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - init i64=%" PRId64 "\n", value); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_function_name(uint32_t index, - WabtStringSlice name, - void* user_data) { +static Result on_function_name(uint32_t index, + StringSlice name, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - func[%d] " PRIstringslice "\n", index, WABT_PRINTF_STRING_SLICE_ARG(name)); - if (ctx->options->mode == WabtObjdumpMode::Prepass) - wabt_append_string_slice_value(&ctx->options->function_names, &name); - return WabtResult::Ok; + if (ctx->options->mode == ObjdumpMode::Prepass) + append_string_slice_value(&ctx->options->function_names, &name); + return Result::Ok; } -static WabtResult on_local_name(uint32_t func_index, - uint32_t local_index, - WabtStringSlice name, - void* user_data) { +static Result on_local_name(uint32_t func_index, + uint32_t local_index, + StringSlice name, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); if (name.length) { print_details(ctx, " - local[%d] " PRIstringslice "\n", local_index, WABT_PRINTF_STRING_SLICE_ARG(name)); } - return WabtResult::Ok; + return Result::Ok; } -WabtResult on_reloc_count(uint32_t count, - WabtBinarySection section_code, - WabtStringSlice section_name, - void* user_data) { +Result on_reloc_count(uint32_t count, + BinarySection section_code, + StringSlice section_name, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); ctx->reloc_section = section_code; - print_details(ctx, " - section: %s\n", wabt_get_section_name(section_code)); - return WabtResult::Ok; + print_details(ctx, " - section: %s\n", get_section_name(section_code)); + return Result::Ok; } -WabtResult on_reloc(WabtRelocType type, - uint32_t offset, - void* user_data) { +Result on_reloc(RelocType type, uint32_t offset, void* user_data) { Context* ctx = static_cast<Context*>(user_data); uint32_t total_offset = ctx->section_starts[static_cast<size_t>(ctx->reloc_section)] + offset; - print_details(ctx, " - %-18s offset=%#x (%#x)\n", - wabt_get_reloc_type_name(type), total_offset, offset); - if (ctx->options->mode == WabtObjdumpMode::Prepass && - ctx->reloc_section == WabtBinarySection::Code) { - WabtReloc reloc; + print_details(ctx, " - %-18s offset=%#x (%#x)\n", get_reloc_type_name(type), + total_offset, offset); + if (ctx->options->mode == ObjdumpMode::Prepass && + ctx->reloc_section == BinarySection::Code) { + Reloc reloc; reloc.offset = offset; reloc.type = type; - wabt_append_reloc_value(&ctx->options->code_relocations, &reloc); + append_reloc_value(&ctx->options->code_relocations, &reloc); } - return WabtResult::Ok; + return Result::Ok; } -static void on_error(WabtBinaryReaderContext* ctx, const char* message) { - WabtDefaultErrorHandlerInfo info; +static void on_error(BinaryReaderContext* ctx, const char* message) { + DefaultErrorHandlerInfo info; info.header = "error reading binary"; info.out_file = stdout; - info.print_header = WabtPrintErrorHeader::Once; - wabt_default_binary_error_callback(ctx->offset, message, &info); + info.print_header = PrintErrorHeader::Once; + default_binary_error_callback(ctx->offset, message, &info); } -static WabtResult begin_data_segment(uint32_t index, - uint32_t memory_index, - void* user_data) { +static Result begin_data_segment(uint32_t index, + uint32_t memory_index, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); print_details(ctx, " - memory[%d]", memory_index); - return WabtResult::Ok; + return Result::Ok; } -static WabtResult on_data_segment_data(uint32_t index, - const void* src_data, - uint32_t size, - void* user_data) { +static Result on_data_segment_data(uint32_t index, + const void* src_data, + uint32_t size, + void* user_data) { Context* ctx = static_cast<Context*>(user_data); if (should_print_details(ctx)) { - wabt_write_memory_dump(ctx->out_stream, src_data, size, 0, - WabtPrintChars::Yes, " - ", nullptr); + write_memory_dump(ctx->out_stream, src_data, size, 0, PrintChars::Yes, + " - ", nullptr); } - return WabtResult::Ok; + return Result::Ok; } -WabtResult wabt_read_binary_objdump(const uint8_t* data, - size_t size, - WabtObjdumpOptions* options) { +Result read_binary_objdump(const uint8_t* data, + size_t size, + ObjdumpOptions* options) { Context context; WABT_ZERO_MEMORY(context); context.header_printed = false; @@ -674,11 +669,11 @@ WabtResult wabt_read_binary_objdump(const uint8_t* data, context.data = data; context.size = size; context.options = options; - context.out_stream = wabt_init_stdout_stream(); + context.out_stream = init_stdout_stream(); - WabtBinaryReader reader; + BinaryReader reader; WABT_ZERO_MEMORY(reader); - if (options->mode == WabtObjdumpMode::Prepass) { + if (options->mode == ObjdumpMode::Prepass) { reader.on_function_name = on_function_name; reader.on_reloc_count = on_reloc_count; reader.on_reloc = on_reloc; @@ -753,7 +748,7 @@ WabtResult wabt_read_binary_objdump(const uint8_t* data, reader.on_init_expr_get_global_expr = on_init_expr_get_global_expr; } - if (options->mode == WabtObjdumpMode::Disassemble) { + if (options->mode == ObjdumpMode::Disassemble) { reader.on_opcode = on_opcode; reader.on_opcode_bare = on_opcode_bare; reader.on_opcode_uint32 = on_opcode_uint32; @@ -768,7 +763,9 @@ WabtResult wabt_read_binary_objdump(const uint8_t* data, reader.user_data = &context; - WabtReadBinaryOptions read_options = WABT_READ_BINARY_OPTIONS_DEFAULT; + ReadBinaryOptions read_options = WABT_READ_BINARY_OPTIONS_DEFAULT; read_options.read_debug_names = true; - return wabt_read_binary(data, size, &reader, 1, &read_options); + return read_binary(data, size, &reader, 1, &read_options); } + +} // namespace wabt |