summaryrefslogtreecommitdiff
path: root/src/wasm-binary.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-01-20 15:19:59 -0800
committerAlon Zakai <alonzakai@gmail.com>2016-01-20 15:20:44 -0800
commit5f3c6cf04945591a2322238134172d7b68463b41 (patch)
tree0de0b674777964b2353c0e6a4bf7ead71db3535e /src/wasm-binary.h
parent8e44bc31fd60a51906123685976609fc2adf4382 (diff)
downloadbinaryen-5f3c6cf04945591a2322238134172d7b68463b41.tar.gz
binaryen-5f3c6cf04945591a2322238134172d7b68463b41.tar.bz2
binaryen-5f3c6cf04945591a2322238134172d7b68463b41.zip
mapLocals even if no locals, but there are params #127
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r--src/wasm-binary.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index 76e5fc348..235a0e772 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -436,6 +436,7 @@ public:
mappedLocals[name] = index + currLocalsByType[f64] - 1;
continue;
}
+ abort();
}
}
@@ -464,12 +465,14 @@ public:
(BinaryConsts::Export * (wasm->exportsMap.count(name) > 0)));
o << getFunctionTypeIndex(type);
emitString(name.str);
- if (function && function->locals.size() > 0) {
+ if (function) {
mapLocals(function);
- o << uint16_t(numLocalsByType[i32])
- << uint16_t(numLocalsByType[i64])
- << uint16_t(numLocalsByType[f32])
- << uint16_t(numLocalsByType[f64]);
+ if (function->locals.size() > 0) {
+ o << uint16_t(numLocalsByType[i32])
+ << uint16_t(numLocalsByType[i64])
+ << uint16_t(numLocalsByType[f32])
+ << uint16_t(numLocalsByType[f64]);
+ }
}
if (function) {
size_t sizePos = o.size();