diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-10-18 10:49:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-18 10:49:44 -0700 |
commit | c3d2775402d74a920577ed317930f3693305354f (patch) | |
tree | 5edcba757b50590544b2f7e2a1746ad0f017f97a /src/passes/Metrics.cpp | |
parent | d9aff8254f82af4cdcbcb5046a3603dfd5093b96 (diff) | |
download | binaryen-c3d2775402d74a920577ed317930f3693305354f.tar.gz binaryen-c3d2775402d74a920577ed317930f3693305354f.tar.bz2 binaryen-c3d2775402d74a920577ed317930f3693305354f.zip |
add table and memory contents to metrics (#787)
Diffstat (limited to 'src/passes/Metrics.cpp')
-rw-r--r-- | src/passes/Metrics.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp index 9181da9bb..4dd8b1955 100644 --- a/src/passes/Metrics.cpp +++ b/src/passes/Metrics.cpp @@ -57,6 +57,23 @@ struct Metrics : public WalkerPass<PostWalker<Metrics, UnifiedExpressionVisitor< // add functions keys.push_back("[funcs]"); counts["[funcs]"] = module->functions.size(); + // add memory and table + if (module->memory.exists) { + Index size = 0; + for (auto& segment: module->memory.segments) { + size += segment.data.size(); + } + keys.push_back("[memory-data]"); + counts["[memory-data]"] = size; + } + if (module->table.exists) { + Index size = 0; + for (auto& segment: module->table.segments) { + size += segment.data.size(); + } + keys.push_back("[table-data]"); + counts["[table-data]"] = size; + } // sort sort(keys.begin(), keys.end(), [](const char* a, const char* b) -> bool { return strcmp(b, a) > 0; |