summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/wasm-emscripten-finalize.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp
index c1d104c6a..f569b54cb 100644
--- a/src/tools/wasm-emscripten-finalize.cpp
+++ b/src/tools/wasm-emscripten-finalize.cpp
@@ -24,6 +24,7 @@
#include "abi/js.h"
#include "ir/trapping.h"
#include "support/colors.h"
+#include "support/debug.h"
#include "support/file.h"
#include "tool-options.h"
#include "wasm-binary.h"
@@ -32,6 +33,8 @@
#include "wasm-printing.h"
#include "wasm-validator.h"
+#define DEBUG_TYPE "emscripten"
+
using namespace cashew;
using namespace wasm;
@@ -175,10 +178,9 @@ int main(int argc, const char* argv[]) {
options.applyFeatures(wasm);
- if (options.debug) {
- std::cerr << "Module before:\n";
- WasmPrinter::printModule(&wasm, std::cerr);
- }
+ BYN_TRACE_WITH_TYPE("emscripten-dump", "Module before:\n");
+ BYN_DEBUG_WITH_TYPE("emscripten-dump",
+ WasmPrinter::printModule(&wasm, std::cerr));
uint32_t dataSize = 0;
@@ -226,9 +228,11 @@ int main(int argc, const char* argv[]) {
}
if (isSideModule) {
+ BYN_TRACE("finalizing as side module\n");
generator.replaceStackPointerGlobal();
generator.generatePostInstantiateFunction();
} else {
+ BYN_TRACE("finalizing as regular module\n");
generator.generateRuntimeFunctions();
generator.internalizeStackPointerGlobal();
generator.generateMemoryGrowthFunction();
@@ -260,6 +264,7 @@ int main(int argc, const char* argv[]) {
// Legalize the wasm.
{
+ BYN_TRACE("legalizing types\n");
PassRunner passRunner(&wasm);
passRunner.setOptions(options.passOptions);
passRunner.setDebug(options.debug);
@@ -270,6 +275,7 @@ int main(int argc, const char* argv[]) {
passRunner.run();
}
+ BYN_TRACE("generated metadata\n");
// Substantial changes to the wasm are done, enough to create the metadata.
std::string metadata =
generator.generateEmscriptenMetadata(dataSize, initializerFunctions);
@@ -284,10 +290,9 @@ int main(int argc, const char* argv[]) {
generator.separateDataSegments(&memInitFile, globalBase);
}
- if (options.debug) {
- std::cerr << "Module after:\n";
- WasmPrinter::printModule(&wasm, std::cerr);
- }
+ BYN_TRACE_WITH_TYPE("emscripten-dump", "Module after:\n");
+ BYN_DEBUG_WITH_TYPE("emscripten-dump",
+ WasmPrinter::printModule(&wasm, std::cerr));
// Strip target features section (its information is in the metadata)
{