summaryrefslogtreecommitdiff
path: root/src/binary-reader-objdump.cc
diff options
context:
space:
mode:
authorBen Smith <binjimin@gmail.com>2017-03-02 23:14:31 -0800
committerGitHub <noreply@github.com>2017-03-02 23:14:31 -0800
commit2759d4646d9ec9fdb37a4b0b7ba40a972dd509de (patch)
tree986d11d9fd431ae53b6eab17757aa7e32d3af39f /src/binary-reader-objdump.cc
parent73fc2e25a9d49aa2188ed1ca25260ba76a475df3 (diff)
downloadwabt-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.cc483
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