Index: test/cctest/wasm/wasm-run-utils.h |
diff --git a/test/cctest/wasm/wasm-run-utils.h b/test/cctest/wasm/wasm-run-utils.h |
index ea3e8ba2d4f381a9e96a3c6d13b1650eac65e904..9c371bd032bd8634f51f3b575539c6264b46eef8 100644 |
--- a/test/cctest/wasm/wasm-run-utils.h |
+++ b/test/cctest/wasm/wasm-run-utils.h |
@@ -17,6 +17,7 @@ |
#include "src/compiler/node.h" |
#include "src/compiler/pipeline.h" |
#include "src/compiler/wasm-compiler.h" |
+#include "src/compiler/zone-pool.h" |
#include "src/wasm/ast-decoder.h" |
#include "src/wasm/wasm-js.h" |
@@ -242,9 +243,10 @@ class TestingModule : public ModuleEnv { |
}; |
inline void TestBuildingGraph(Zone* zone, JSGraph* jsgraph, ModuleEnv* module, |
- FunctionSig* sig, const byte* start, |
- const byte* end) { |
- compiler::WasmGraphBuilder builder(zone, jsgraph, sig); |
+ FunctionSig* sig, |
+ SourcePositionTable* source_position_table, |
+ const byte* start, const byte* end) { |
+ compiler::WasmGraphBuilder builder(zone, jsgraph, sig, source_position_table); |
TreeResult result = |
BuildTFGraph(zone->allocator(), &builder, module, sig, start, end); |
if (result.failed()) { |
@@ -418,7 +420,8 @@ class WasmFunctionCompiler : public HandleAndZoneScope, |
sig(sig), |
descriptor_(nullptr), |
testing_module_(module), |
- debug_name_(debug_name) { |
+ debug_name_(debug_name), |
+ source_position_table_(this->graph()) { |
if (module) { |
// Get a new function from the testing module. |
function_ = nullptr; |
@@ -444,6 +447,7 @@ class WasmFunctionCompiler : public HandleAndZoneScope, |
WasmFunction* function_; |
int function_index_; |
LocalDeclEncoder local_decls; |
+ SourcePositionTable source_position_table_; |
Isolate* isolate() { return main_isolate(); } |
Graph* graph() const { return main_graph_; } |
@@ -460,7 +464,8 @@ class WasmFunctionCompiler : public HandleAndZoneScope, |
void Build(const byte* start, const byte* end) { |
// Build the TurboFan graph. |
local_decls.Prepend(&start, &end); |
- TestBuildingGraph(main_zone(), &jsgraph, testing_module_, sig, start, end); |
+ TestBuildingGraph(main_zone(), &jsgraph, testing_module_, sig, |
+ &source_position_table_, start, end); |
delete[] start; |
} |
@@ -479,16 +484,26 @@ class WasmFunctionCompiler : public HandleAndZoneScope, |
} |
CompilationInfo info(debug_name_, this->isolate(), this->zone(), |
Code::ComputeFlags(Code::WASM_FUNCTION)); |
- Handle<Code> result = |
- Pipeline::GenerateCodeForTesting(&info, desc, this->graph()); |
+ compiler::ZonePool zone_pool(this->isolate()->allocator()); |
+ compiler::ZonePool::Scope pipeline_zone_scope(&zone_pool); |
+ Pipeline pipeline(&info); |
+ pipeline.InitializeWasmCompilation(this->zone(), &zone_pool, this->graph(), |
+ &source_position_table_); |
+ Handle<Code> code; |
+ if (pipeline.ExecuteWasmCompilation(desc)) { |
+ code = pipeline.FinalizeWasmCompilation(desc); |
+ } else { |
+ code = Handle<Code>::null(); |
+ } |
+ pipeline_zone_scope.Destroy(); |
#ifdef ENABLE_DISASSEMBLER |
- if (!result.is_null() && FLAG_print_opt_code) { |
+ if (!code.is_null() && FLAG_print_opt_code) { |
OFStream os(stdout); |
- result->Disassemble("wasm code", os); |
+ code->Disassemble("wasm code", os); |
} |
#endif |
- return result; |
+ return code; |
} |
uint32_t CompileAndAdd(uint16_t sig_index = 0) { |