summaryrefslogtreecommitdiff
path: root/src/wasm-binary.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-03-15 20:07:01 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-03-15 20:07:01 -0700
commitb51dcb905311c9d808c6ff0123b107e735a45c2e (patch)
treea2960656412e64a3862ba6627ef54046a5856fd7 /src/wasm-binary.h
parente72838760425ea77f5b075e6bad0ecf90b820b69 (diff)
downloadbinaryen-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.h10
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);
}