summaryrefslogtreecommitdiff
path: root/src/wasm-interpreter.cpp
diff options
context:
space:
mode:
authorjgravelle-google <jgravelle@google.com>2016-10-18 11:01:21 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-10-18 11:01:21 -0700
commitf94bbcdc60e7e435b15a2f95dfce465766e940a3 (patch)
tree1a1070ed35277fa510372ea53784505520cb1085 /src/wasm-interpreter.cpp
parentb9698cc7076390ae2bb937537850395ae7bad056 (diff)
downloadbinaryen-f94bbcdc60e7e435b15a2f95dfce465766e940a3.tar.gz
binaryen-f94bbcdc60e7e435b15a2f95dfce465766e940a3.tar.bz2
binaryen-f94bbcdc60e7e435b15a2f95dfce465766e940a3.zip
Minor improvements to the wasm-interpreter debug messages (#784)
* Minor improvements to the wasm-interpreter debug messages 1. Indent nested blocks for more readable structure (with numeric labels to make it even clearer) 2. Print the names of the variables used for NOTE_EVALs 3. Print the values of arguments when entering a function call * Move Indenter class to wasm-interpreter.cpp
Diffstat (limited to 'src/wasm-interpreter.cpp')
-rw-r--r--src/wasm-interpreter.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/wasm-interpreter.cpp b/src/wasm-interpreter.cpp
new file mode 100644
index 000000000..e7df785ac
--- /dev/null
+++ b/src/wasm-interpreter.cpp
@@ -0,0 +1,24 @@
+#include "wasm-interpreter.h"
+
+namespace wasm {
+
+#ifdef WASM_INTERPRETER_DEBUG
+int Indenter::indentLevel = 0;
+
+Indenter::Indenter(const char* entry) : entryName(entry) {
+ ++indentLevel;
+}
+Indenter::~Indenter() {
+ print();
+ std::cout << "exit " << entryName << '\n';
+ --indentLevel;
+}
+void Indenter::print() {
+ std::cout << indentLevel << ':';
+ for (int i = 0; i <= indentLevel; ++i) {
+ std::cout << ' ';
+ }
+}
+#endif // WASM_INTERPRETER_DEBUG
+
+} // namespace wasm