summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wasm-binary.h1
-rw-r--r--src/wasm/wasm-binary.cpp6
2 files changed, 6 insertions, 1 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index 2a455b808..3dac4de06 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -721,6 +721,7 @@ public:
void writeLateUserSections();
void writeUserSection(const UserSection& section);
+ void initializeDebugInfo();
void writeSourceMapProlog();
void writeSourceMapEpilog();
void writeDebugLocation(const Function::DebugLocation& loc);
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp
index 153894906..97e70aeab 100644
--- a/src/wasm/wasm-binary.cpp
+++ b/src/wasm/wasm-binary.cpp
@@ -44,6 +44,7 @@ void WasmBinaryWriter::write() {
writeEarlyUserSections();
+ initializeDebugInfo();
if (sourceMap) {
writeSourceMapProlog();
}
@@ -484,8 +485,11 @@ void WasmBinaryWriter::writeSymbolMap() {
file.close();
}
-void WasmBinaryWriter::writeSourceMapProlog() {
+void WasmBinaryWriter::initializeDebugInfo() {
lastDebugLocation = { 0, /* lineNumber = */ 1, 0 };
+}
+
+void WasmBinaryWriter::writeSourceMapProlog() {
*sourceMap << "{\"version\":3,\"sources\":[";
for (size_t i = 0; i < wasm->debugInfoFileNames.size(); i++) {
if (i > 0) *sourceMap << ",";