In cpp wrapper: added saving module raw data to module class (#272)

opam-2.0.0
skrphv 3 years ago committed by GitHub
parent 788c49146c
commit 8850f91c46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -265,15 +265,15 @@ namespace wasm3 {
module(const std::shared_ptr<M3Environment> &env, std::istream &in_wasm) {
in_wasm.unsetf(std::ios::skipws);
std::vector<uint8_t> in_bytes;
std::copy(std::istream_iterator<uint8_t>(in_wasm),
std::istream_iterator<uint8_t>(),
std::back_inserter(in_bytes));
parse(env.get(), in_bytes.data(), in_bytes.size());
std::back_inserter(m_moduleRawData));
parse(env.get(), m_moduleRawData.data(), m_moduleRawData.size());
}
module(const std::shared_ptr<M3Environment> &env, const uint8_t *data, size_t size) : m_env(env) {
parse(env.get(), data, size);
m_moduleRawData = std::vector<uint8_t>{data, data + size};
parse(env.get(), m_moduleRawData.data(), m_moduleRawData.size());
}
void parse(IM3Environment env, const uint8_t *data, size_t size) {
@ -296,6 +296,7 @@ namespace wasm3 {
std::shared_ptr<M3Environment> m_env;
std::shared_ptr<M3Module> m_module;
bool m_loaded = false;
std::vector<uint8_t> m_moduleRawData {};
};

Loading…
Cancel
Save