diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-04-27 14:54:30 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-04-27 17:00:35 -0700 |
commit | f22e2796f5ac72c64c36cb562d1462093741f8d7 (patch) | |
tree | 9f33653987be8cb74be6783221e98340f95b27cc /src/wasm.h | |
parent | 90bdf763537815a523d0dbe75a67e7f0b14b0d9e (diff) | |
download | binaryen-f22e2796f5ac72c64c36cb562d1462093741f8d7.tar.gz binaryen-f22e2796f5ac72c64c36cb562d1462093741f8d7.tar.bz2 binaryen-f22e2796f5ac72c64c36cb562d1462093741f8d7.zip |
just use a simple vector in data segments
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/wasm.h b/src/wasm.h index 45a01bd76..b5dee81b8 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -1169,10 +1169,15 @@ public: static const size_t kPageMask = ~(kPageSize - 1); struct Segment { size_t offset; - const char* data; - size_t size; + std::vector<char> data; // TODO: optimize Segment() {} - Segment(size_t offset, const char *data, size_t size) : offset(offset), data(data), size(size) {} + Segment(size_t offset, const char *init, size_t size) : offset(offset) { + data.resize(size); + memcpy(&data[0], init, size); + } + Segment(size_t offset, std::vector<char>& init) : offset(offset) { + data.swap(init); + } }; size_t initial, max; // sizes are in pages |