diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-01-13 21:01:34 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-01-13 21:02:59 -0800 |
commit | 0bfe85636f9068819387edcad5d39d33af65f491 (patch) | |
tree | 1e8e811080f08643ed085f157a26133ee207b65d /src | |
parent | d4f713522f1580b6f2aa7a0716c8ec8df7b48275 (diff) | |
download | binaryen-0bfe85636f9068819387edcad5d39d33af65f491.tar.gz binaryen-0bfe85636f9068819387edcad5d39d33af65f491.tar.bz2 binaryen-0bfe85636f9068819387edcad5d39d33af65f491.zip |
fix function size offsetting
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-binary.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index aaa485a1c..73cd25a53 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -469,13 +469,14 @@ public: << uint16_t(numLocalsByType[f64]); } if (function) { - size_t curr = o.size(); + size_t sizePos = o.size(); o << (uint16_t)0; // placeholder + size_t start = o.size(); visit(function->body); - size_t size = o.size() - curr; + size_t size = o.size() - start; assert(size <= std::numeric_limits<uint16_t>::max()); - if (debug) std::cerr << "body size: " << size << ", writing at " << curr << ", next starts at " << o.size() << std::endl; - o.writeAt(curr, uint16_t(size)); + if (debug) std::cerr << "body size: " << size << ", writing at " << sizePos << ", next starts at " << o.size() << std::endl; + o.writeAt(sizePos, uint16_t(size)); } } } |