Index: src/wasm/ast-decoder.h |
diff --git a/src/wasm/ast-decoder.h b/src/wasm/ast-decoder.h |
index 9e96053a6ce035773fbe9f992e24d2f0e8430c35..1b322fd05bccd87a21fde4ed0ab14549b0f4b65c 100644 |
--- a/src/wasm/ast-decoder.h |
+++ b/src/wasm/ast-decoder.h |
@@ -5,6 +5,8 @@ |
#ifndef V8_WASM_AST_DECODER_H_ |
#define V8_WASM_AST_DECODER_H_ |
+#include <functional> |
+ |
#include "src/signature.h" |
#include "src/wasm/decoder.h" |
#include "src/wasm/wasm-opcodes.h" |
@@ -211,6 +213,9 @@ struct FunctionBody { |
const byte* base; // base of the module bytes, for error reporting |
const byte* start; // start of the function body |
const byte* end; // end of the function body |
+ static FunctionBody ForTesting(const byte* start, const byte* end) { |
titzer
2016/06/10 10:57:40
Can you please move this out to the top level? (st
Clemens Hammacher
2016/06/13 09:45:17
Done.
Not sure though if style guide really advise
|
+ return {nullptr, nullptr, start, start, end}; |
+ } |
}; |
struct Tree; |
@@ -222,7 +227,9 @@ TreeResult VerifyWasmCode(base::AccountingAllocator* allocator, |
FunctionBody& body); |
TreeResult BuildTFGraph(base::AccountingAllocator* allocator, |
TFBuilder* builder, FunctionBody& body); |
-void PrintAst(base::AccountingAllocator* allocator, FunctionBody& body); |
+bool PrintAst(base::AccountingAllocator* allocator, const FunctionBody& body, |
+ std::ostream& os, |
+ std::function<void(uint32_t)> instruction_callback = {}); |
titzer
2016/06/10 10:57:40
There isn't a usecase for the instruction_callback
Clemens Hammacher
2016/06/13 09:45:17
Done.
|
// A simplified form of AST printing, e.g. from a debugger. |
void PrintAstForDebugging(const byte* start, const byte* end); |