diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-05-22 14:04:36 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-06-12 13:38:05 +0200 |
| commit | 4f9a2c7a2d8464b04cc08075a7762c6d457090df (patch) | |
| tree | ae8fe229a3a5ba60d08b74299d0c1850685bda86 /src/section/common.c | |
| parent | f25b015e5b668028c34974bbb22faa4105c26690 (diff) | |
| download | nanowasm-sync-4f9a2c7a2d8464b04cc08075a7762c6d457090df.tar.gz | |
WIP
Diffstat (limited to 'src/section/common.c')
| -rw-r--r-- | src/section/common.c | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/section/common.c b/src/section/common.c index b768470..84ed191 100644 --- a/src/section/common.c +++ b/src/section/common.c @@ -60,91 +60,3 @@ int check_resizable_limits(FILE *const f, struct resizable_limits *const r) r->sz = initial * page_size; return 0; } - -size_t get_type_size(const enum value_type type) -{ - static const size_t list[] = - { - [VALUE_TYPE_I32] = sizeof (int32_t), - [VALUE_TYPE_I64] = sizeof (int64_t), - [VALUE_TYPE_F32] = sizeof (float), - [VALUE_TYPE_F64] = sizeof (double) - }; - - return list[type]; -} - -enum -{ - I32 = 0x7f, - I64 = 0x7e, - F32 = 0x7d, - F64 = 0x7c, - ANYFUNC = 0x70, - FUNC = 0x60, - BLOCK_TYPE = 0x40 -}; - -int get_value_type(const varint7 type, enum value_type *const vtype) -{ - static const struct size - { - varint7 type; - enum value_type vtype; - } sizes[] = - { - {.type = I32, .vtype = VALUE_TYPE_I32}, - {.type = I64, .vtype = VALUE_TYPE_I64}, - {.type = F32, .vtype = VALUE_TYPE_F32}, - {.type = F64, .vtype = VALUE_TYPE_F64}, - /* TODO: check this. */ - {.type = ANYFUNC, .vtype = VALUE_TYPE_I32}, - /* TODO: check this. */ - {.type = FUNC, .vtype = VALUE_TYPE_I32}, - /* TODO: check this. */ - {.type = BLOCK_TYPE, .vtype = VALUE_TYPE_I32} - }; - - for (size_t i = 0; i < sizeof sizes / sizeof *sizes; i++) - { - const struct size *const s = &sizes[i]; - - if (type == s->type) - { - *vtype = s->vtype; - return 0; - } - } - - LOG("%s: unknown type %#hhx\n", __func__, (char)type); - return -1; -} - -static int32_t swap_i32(const int32_t in) -{ - const int8_t *const p = (const int8_t *)∈ - - return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24); -} - -int32_t htoni32(const int32_t in) -{ - return swap_i32(in); -} - -int32_t ntohi32(const int32_t in) -{ - return swap_i32(in); -} - -const char *value_type_tostr(const enum value_type v) -{ - static const char *const s[] = - { -#define X(x) [x] = #x, - VALUE_TYPES -#undef X - }; - - return s[v]; -} |
