diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-01-13 17:42:34 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-01-13 17:42:34 -0800 |
commit | 9d54e79c390713e8103e1244e8e8a1d9f8445a3d (patch) | |
tree | bf3ef6dc77177aa525a37905388187b14c1ee712 /src/wasm-binary.h | |
parent | 91e8b41c32d050408948995f7560e9a1a9b1f7bc (diff) | |
download | binaryen-9d54e79c390713e8103e1244e8e8a1d9f8445a3d.tar.gz binaryen-9d54e79c390713e8103e1244e8e8a1d9f8445a3d.tar.bz2 binaryen-9d54e79c390713e8103e1244e8e8a1d9f8445a3d.zip |
use unsigned types in wasm-binary.h
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r-- | src/wasm-binary.h | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index cfc489f67..9adb6ce84 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -873,43 +873,49 @@ public: readEnd(); } - int8_t getInt8() { + uint8_t getInt8() { assert(pos < input.size()); if (debug) std::cerr << "getInt8: " << (int)(uint8_t)input[pos] << std::endl; return input[pos++]; } - int16_t getInt16() { - auto ret = int16_t(getInt8()) | (int16_t(getInt8()) << 8); - if (debug) std::cerr << "getInt16: " << ret << std::endl; + uint16_t getInt16() { + if (debug) std::cerr << "<==" << std::endl; + auto ret = uint16_t(getInt8()) | (uint16_t(getInt8()) << 8); + if (debug) std::cerr << "getInt16: " << ret << " ==>" << std::endl; return ret; } - int32_t getInt32() { - auto ret = int32_t(getInt16()) | (int32_t(getInt16()) << 16); - if (debug) std::cerr << "getInt32: " << ret << std::endl; + uint32_t getInt32() { + if (debug) std::cerr << "<==" << std::endl; + auto ret = uint32_t(getInt16()) | (uint32_t(getInt16()) << 16); + if (debug) std::cerr << "getInt32: " << ret << " ==>" << std::endl; return ret; } - int64_t getInt64() { - auto ret = int64_t(getInt32()) | (int64_t(getInt32()) << 32); - if (debug) std::cerr << "getInt64: " << ret << std::endl; + uint64_t getInt64() { + if (debug) std::cerr << "<==" << std::endl; + auto ret = uint64_t(getInt32()) | (uint64_t(getInt32()) << 32); + if (debug) std::cerr << "getInt64: " << ret << " ==>" << std::endl; return ret; } float getFloat32() { + if (debug) std::cerr << "<==" << std::endl; auto ret = Literal(getInt32()).reinterpretf32(); - if (debug) std::cerr << "getFloat32: " << ret << std::endl; + if (debug) std::cerr << "getFloat32: " << ret << " ==>" << std::endl; return ret; } double getFloat64() { + if (debug) std::cerr << "<==" << std::endl; auto ret = Literal(getInt64()).reinterpretf64(); - if (debug) std::cerr << "getFloat64: " << ret << std::endl; + if (debug) std::cerr << "getFloat64: " << ret << " ==>" << std::endl; return ret; } - int32_t getLEB128() { + uint32_t getLEB128() { + if (debug) std::cerr << "<==" << std::endl; LEB128 ret; ret.read([&]() { return getInt8(); }); - if (debug) std::cerr << "getLEB128: " << ret.value << std::endl; + if (debug) std::cerr << "getLEB128: " << ret.value << " ==>" << std::endl; return ret.value; } WasmType getWasmType() { @@ -925,9 +931,10 @@ public: } Name getString() { + if (debug) std::cerr << "<==" << std::endl; size_t offset = getInt32(); Name ret = cashew::IString((&input[0]) + offset, false); - if (debug) std::cerr << "getString: " << ret << std::endl; + if (debug) std::cerr << "getString: " << ret << " ==>" << std::endl; return ret; } @@ -1063,7 +1070,7 @@ public: if (debug) std::cerr << "== readDataSegments" << std::endl; verifyInt8(BinaryConsts::DataSegments); auto num = getLEB128(); - for (auto i = 0; i < num; i++) { + for (size_t i = 0; i < num; i++) { auto curr = allocator.alloc<Memory::Segment>(); curr->offset = getInt32(); auto start = getInt32(); @@ -1080,7 +1087,7 @@ public: if (debug) std::cerr << "== readFunctionTable" << std::endl; verifyInt8(BinaryConsts::FunctionTable); auto num = getLEB128(); - for (auto i = 0; i < num; i++) { + for (size_t i = 0; i < num; i++) { wasm.table.names.push_back(mappedFunctions[getInt16()]); } } |