summaryrefslogtreecommitdiff
path: root/src/ir/module-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir/module-utils.h')
-rw-r--r--src/ir/module-utils.h52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h
index 485bc4833..e589f5052 100644
--- a/src/ir/module-utils.h
+++ b/src/ir/module-utils.h
@@ -28,58 +28,6 @@ namespace wasm {
namespace ModuleUtils {
-// Computes the indexes in a wasm binary, i.e., with function imports
-// and function implementations sharing a single index space, etc.,
-// and with the imports first (the Module's functions and globals
-// arrays are not assumed to be in a particular order, so we can't
-// just use them directly).
-struct BinaryIndexes {
- std::unordered_map<Name, Index> functionIndexes;
- std::unordered_map<Name, Index> eventIndexes;
- std::unordered_map<Name, Index> globalIndexes;
-
- BinaryIndexes(Module& wasm) {
- auto addIndexes = [&](auto& source, auto& indexes) {
- auto addIndex = [&](auto* curr) {
- auto index = indexes.size();
- indexes[curr->name] = index;
- };
- for (auto& curr : source) {
- if (curr->imported()) {
- addIndex(curr.get());
- }
- }
- for (auto& curr : source) {
- if (!curr->imported()) {
- addIndex(curr.get());
- }
- }
- };
- addIndexes(wasm.functions, functionIndexes);
- addIndexes(wasm.events, eventIndexes);
-
- // Globals may have tuple types in the IR, in which case they lower to
- // multiple globals, one for each tuple element, in the binary. Tuple
- // globals therefore occupy multiple binary indices, and we have to take
- // that into account when calculating indices.
- Index globalCount = 0;
- auto addGlobal = [&](auto* curr) {
- globalIndexes[curr->name] = globalCount;
- globalCount += curr->type.size();
- };
- for (auto& curr : wasm.globals) {
- if (curr->imported()) {
- addGlobal(curr.get());
- }
- }
- for (auto& curr : wasm.globals) {
- if (!curr->imported()) {
- addGlobal(curr.get());
- }
- }
- }
-};
-
inline Function* copyFunction(Function* func, Module& out) {
auto* ret = new Function();
ret->name = func->name;