diff options
Diffstat (limited to 'src/wasm-js.cpp')
-rw-r--r-- | src/wasm-js.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp index 61eac6e6c..6612e1e00 100644 --- a/src/wasm-js.cpp +++ b/src/wasm-js.cpp @@ -110,7 +110,7 @@ void finalizeModule() { exit(EXIT_FAILURE); } module->memory.initial = providedMemory / Memory::kPageSize; - module->memory.max = (module->exportsMap.find(GROW_WASM_MEMORY) != module->exportsMap.end()) ? -1 : module->memory.initial; + module->memory.max = module->checkExport(GROW_WASM_MEMORY) ? -1 : module->memory.initial; // global mapping is done in js in post.js } @@ -165,8 +165,7 @@ extern "C" void EMSCRIPTEN_KEEPALIVE instantiate() { EM_ASM({ Module['asmExports'] = {}; }); - for (auto& pair : module->exportsMap) { - auto& curr = pair.second; + for (auto* curr : module->exports) { EM_ASM_({ var name = Pointer_stringify($0); Module['asmExports'][name] = function() { @@ -178,15 +177,13 @@ extern "C" void EMSCRIPTEN_KEEPALIVE instantiate() { } // verify imports are provided - for (auto& pair : module->importsMap) { - auto& name = pair.first; - auto* import = pair.second; + for (auto* import : module->imports) { EM_ASM_({ var mod = Pointer_stringify($0); var base = Pointer_stringify($1); var name = Pointer_stringify($2); assert(Module['lookupImport'](mod, base), 'checking import ' + name + ' = ' + mod + '.' + base); - }, import->module.str, import->base.str, name.str); + }, import->module.str, import->base.str, import->name.str); } if (wasmJSDebug) std::cerr << "creating instance...\n"; @@ -432,8 +429,8 @@ extern "C" void EMSCRIPTEN_KEEPALIVE call_from_js(const char *target) { if (wasmJSDebug) std::cout << "call_from_js " << target << '\n'; IString exportName(target); - IString functionName = instance->wasm.exportsMap[exportName]->value; - Function *function = instance->wasm.functionsMap[functionName]; + IString functionName = instance->wasm.getExport(exportName)->value; + Function *function = instance->wasm.getFunction(functionName); assert(function); size_t seen = EM_ASM_INT_V({ return Module['tempArguments'].length }); size_t actual = function->params.size(); |