Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 899b0b8597260ed1499447c718d6045d216626fa..622ca7beb947ee0bf1151f58bb3286323f622582 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -640,13 +640,15 @@ class PipelineWasmCompilationJob final : public CompilationJob { |
explicit PipelineWasmCompilationJob( |
CompilationInfo* info, JSGraph* jsgraph, CallDescriptor* descriptor, |
SourcePositionTable* source_positions, |
- ZoneVector<trap_handler::ProtectedInstructionData>* protected_insts) |
+ ZoneVector<trap_handler::ProtectedInstructionData>* protected_insts, |
+ bool allow_signalling_nan) |
: CompilationJob(info->isolate(), info, "TurboFan", |
State::kReadyToExecute), |
zone_stats_(info->isolate()->allocator()), |
data_(&zone_stats_, info, jsgraph, source_positions, protected_insts), |
pipeline_(&data_), |
- linkage_(descriptor) {} |
+ linkage_(descriptor), |
+ allow_signalling_nan_(allow_signalling_nan) {} |
protected: |
Status PrepareJobImpl() final; |
@@ -658,6 +660,7 @@ class PipelineWasmCompilationJob final : public CompilationJob { |
PipelineData data_; |
PipelineImpl pipeline_; |
Linkage linkage_; |
+ bool allow_signalling_nan_; |
}; |
PipelineWasmCompilationJob::Status |
@@ -682,7 +685,8 @@ PipelineWasmCompilationJob::ExecuteJobImpl() { |
DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(), |
data->common()); |
ValueNumberingReducer value_numbering(scope.zone(), data->graph()->zone()); |
- MachineOperatorReducer machine_reducer(data->jsgraph()); |
+ MachineOperatorReducer machine_reducer(data->jsgraph(), |
+ allow_signalling_nan_); |
CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), |
data->common(), data->machine()); |
AddReducer(data, &graph_reducer, &dead_code_elimination); |
@@ -1749,10 +1753,11 @@ CompilationJob* Pipeline::NewCompilationJob(Handle<JSFunction> function) { |
CompilationJob* Pipeline::NewWasmCompilationJob( |
CompilationInfo* info, JSGraph* jsgraph, CallDescriptor* descriptor, |
SourcePositionTable* source_positions, |
- ZoneVector<trap_handler::ProtectedInstructionData>* |
- protected_instructions) { |
+ ZoneVector<trap_handler::ProtectedInstructionData>* protected_instructions, |
+ bool allow_signalling_nan) { |
return new PipelineWasmCompilationJob( |
- info, jsgraph, descriptor, source_positions, protected_instructions); |
+ info, jsgraph, descriptor, source_positions, protected_instructions, |
+ allow_signalling_nan); |
} |
bool Pipeline::AllocateRegistersForTesting(const RegisterConfiguration* config, |