summaryrefslogtreecommitdiff
path: root/src/wasm.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-04-27 14:54:30 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-04-27 17:00:35 -0700
commitf22e2796f5ac72c64c36cb562d1462093741f8d7 (patch)
tree9f33653987be8cb74be6783221e98340f95b27cc /src/wasm.h
parent90bdf763537815a523d0dbe75a67e7f0b14b0d9e (diff)
downloadbinaryen-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.h11
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