diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-03-15 20:07:01 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-03-15 20:07:01 -0700 |
commit | b51dcb905311c9d808c6ff0123b107e735a45c2e (patch) | |
tree | a2960656412e64a3862ba6627ef54046a5856fd7 /src/wasm-binary.h | |
parent | e72838760425ea77f5b075e6bad0ecf90b820b69 (diff) | |
download | binaryen-b51dcb905311c9d808c6ff0123b107e735a45c2e.tar.gz binaryen-b51dcb905311c9d808c6ff0123b107e735a45c2e.tar.bz2 binaryen-b51dcb905311c9d808c6ff0123b107e735a45c2e.zip |
make function tables entries LEB128
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r-- | src/wasm-binary.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 1e2ca0983..4b7e1a2a4 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -480,7 +480,7 @@ public: finishSection(start); } - int16_t getFunctionTypeIndex(Name type) { // TODO: int32_t + int32_t getFunctionTypeIndex(Name type) { // TODO: optimize for (size_t i = 0; i < wasm->functionTypes.size(); i++) { if (wasm->functionTypes[i]->name == type) return i; @@ -623,14 +623,14 @@ public: finishSection(start); } - uint16_t getImportIndex(Name name) { + uint32_t getImportIndex(Name name) { // TODO: optimize for (size_t i = 0; i < wasm->imports.size(); i++) { if (wasm->imports[i]->name == name) return i; } abort(); } - uint16_t getFunctionIndex(Name name) { + uint32_t getFunctionIndex(Name name) { // TODO: optimize for (size_t i = 0; i < wasm->functions.size(); i++) { if (wasm->functions[i]->name == name) return i; @@ -644,7 +644,7 @@ public: auto start = startSection(BinaryConsts::Section::FunctionTable); o << LEB128(wasm->table.names.size()); for (auto name : wasm->table.names) { - o << getFunctionIndex(name); + o << LEB128(getFunctionIndex(name)); } finishSection(start); } @@ -1430,7 +1430,7 @@ public: if (debug) std::cerr << "== readFunctionTable" << std::endl; auto num = getLEB128(); for (size_t i = 0; i < num; i++) { - auto index = getInt16(); + auto index = getLEB128(); assert(index < wasm.functions.size()); wasm.table.names.push_back(wasm.functions[index]->name); } |