diff options
Diffstat (limited to 'src/passes/Metrics.cpp')
-rw-r--r-- | src/passes/Metrics.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index 3dda70d9b..09dcc5445 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -55,15 +55,15 @@ struct Metrics } ModuleUtils::iterDefinedGlobals(*module, [&](Global* curr) { walkGlobal(curr); }); - walkTable(&module->table); walkMemory(&module->memory); - // add imports / funcs / globals/ exports + // add imports / funcs / globals / exports / tables counts["[imports]"] = imports.getNumImports(); counts["[funcs]"] = imports.getNumDefinedFunctions(); counts["[globals]"] = imports.getNumDefinedGlobals(); counts["[events]"] = imports.getNumDefinedEvents(); counts["[exports]"] = module->exports.size(); + counts["[tables]"] = imports.getNumDefinedTables(); // add memory and table if (module->memory.exists) { Index size = 0; @@ -72,11 +72,15 @@ struct Metrics } counts["[memory-data]"] = size; } - if (module->table.exists) { - Index size = 0; - for (auto& segment : module->table.segments) { + + Index size = 0; + for (auto& table : module->tables) { + walkTable(table.get()); + for (auto& segment : table->segments) { size += segment.data.size(); } + } + if (!module->tables.empty()) { counts["[table-data]"] = size; } |