OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/pipeline.h" | 5 #include "src/compiler/pipeline.h" |
6 | 6 |
7 #include <fstream> // NOLINT(readability/streams) | 7 #include <fstream> // NOLINT(readability/streams) |
8 #include <sstream> | 8 #include <sstream> |
9 | 9 |
10 #include "src/base/platform/elapsed-timer.h" | 10 #include "src/base/platform/elapsed-timer.h" |
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 | 487 |
488 void Run(PipelineData* data, Zone* temp_zone) { | 488 void Run(PipelineData* data, Zone* temp_zone) { |
489 SourcePositionTable::Scope pos(data->source_positions(), | 489 SourcePositionTable::Scope pos(data->source_positions(), |
490 SourcePosition::Unknown()); | 490 SourcePosition::Unknown()); |
491 ValueNumberingReducer vn_reducer(temp_zone); | 491 ValueNumberingReducer vn_reducer(temp_zone); |
492 LoadElimination load_elimination; | 492 LoadElimination load_elimination; |
493 JSBuiltinReducer builtin_reducer(data->jsgraph()); | 493 JSBuiltinReducer builtin_reducer(data->jsgraph()); |
494 JSTypedLowering typed_lowering(data->jsgraph(), temp_zone); | 494 JSTypedLowering typed_lowering(data->jsgraph(), temp_zone); |
495 JSIntrinsicLowering intrinsic_lowering(data->jsgraph()); | 495 JSIntrinsicLowering intrinsic_lowering(data->jsgraph()); |
496 SimplifiedOperatorReducer simple_reducer(data->jsgraph()); | 496 SimplifiedOperatorReducer simple_reducer(data->jsgraph()); |
497 CommonOperatorReducer common_reducer; | 497 CommonOperatorReducer common_reducer(data->jsgraph()); |
498 GraphReducer graph_reducer(data->graph(), temp_zone); | 498 GraphReducer graph_reducer(data->graph(), temp_zone); |
499 AddReducer(data, &graph_reducer, &vn_reducer); | 499 AddReducer(data, &graph_reducer, &vn_reducer); |
500 AddReducer(data, &graph_reducer, &builtin_reducer); | 500 AddReducer(data, &graph_reducer, &builtin_reducer); |
501 AddReducer(data, &graph_reducer, &typed_lowering); | 501 AddReducer(data, &graph_reducer, &typed_lowering); |
502 AddReducer(data, &graph_reducer, &intrinsic_lowering); | 502 AddReducer(data, &graph_reducer, &intrinsic_lowering); |
503 AddReducer(data, &graph_reducer, &load_elimination); | 503 AddReducer(data, &graph_reducer, &load_elimination); |
504 AddReducer(data, &graph_reducer, &simple_reducer); | 504 AddReducer(data, &graph_reducer, &simple_reducer); |
505 AddReducer(data, &graph_reducer, &common_reducer); | 505 AddReducer(data, &graph_reducer, &common_reducer); |
506 graph_reducer.ReduceGraph(); | 506 graph_reducer.ReduceGraph(); |
507 } | 507 } |
508 }; | 508 }; |
509 | 509 |
510 | 510 |
511 struct SimplifiedLoweringPhase { | 511 struct SimplifiedLoweringPhase { |
512 static const char* phase_name() { return "simplified lowering"; } | 512 static const char* phase_name() { return "simplified lowering"; } |
513 | 513 |
514 void Run(PipelineData* data, Zone* temp_zone) { | 514 void Run(PipelineData* data, Zone* temp_zone) { |
515 SourcePositionTable::Scope pos(data->source_positions(), | 515 SourcePositionTable::Scope pos(data->source_positions(), |
516 SourcePosition::Unknown()); | 516 SourcePosition::Unknown()); |
517 SimplifiedLowering lowering(data->jsgraph(), temp_zone, | 517 SimplifiedLowering lowering(data->jsgraph(), temp_zone, |
518 data->source_positions()); | 518 data->source_positions()); |
519 lowering.LowerAllNodes(); | 519 lowering.LowerAllNodes(); |
520 ValueNumberingReducer vn_reducer(temp_zone); | 520 ValueNumberingReducer vn_reducer(temp_zone); |
521 SimplifiedOperatorReducer simple_reducer(data->jsgraph()); | 521 SimplifiedOperatorReducer simple_reducer(data->jsgraph()); |
522 MachineOperatorReducer machine_reducer(data->jsgraph()); | 522 MachineOperatorReducer machine_reducer(data->jsgraph()); |
523 CommonOperatorReducer common_reducer; | 523 CommonOperatorReducer common_reducer(data->jsgraph()); |
524 GraphReducer graph_reducer(data->graph(), temp_zone); | 524 GraphReducer graph_reducer(data->graph(), temp_zone); |
525 AddReducer(data, &graph_reducer, &vn_reducer); | 525 AddReducer(data, &graph_reducer, &vn_reducer); |
526 AddReducer(data, &graph_reducer, &simple_reducer); | 526 AddReducer(data, &graph_reducer, &simple_reducer); |
527 AddReducer(data, &graph_reducer, &machine_reducer); | 527 AddReducer(data, &graph_reducer, &machine_reducer); |
528 AddReducer(data, &graph_reducer, &common_reducer); | 528 AddReducer(data, &graph_reducer, &common_reducer); |
529 graph_reducer.ReduceGraph(); | 529 graph_reducer.ReduceGraph(); |
530 } | 530 } |
531 }; | 531 }; |
532 | 532 |
533 | 533 |
(...skipping 12 matching lines...) Expand all Loading... |
546 struct ChangeLoweringPhase { | 546 struct ChangeLoweringPhase { |
547 static const char* phase_name() { return "change lowering"; } | 547 static const char* phase_name() { return "change lowering"; } |
548 | 548 |
549 void Run(PipelineData* data, Zone* temp_zone) { | 549 void Run(PipelineData* data, Zone* temp_zone) { |
550 SourcePositionTable::Scope pos(data->source_positions(), | 550 SourcePositionTable::Scope pos(data->source_positions(), |
551 SourcePosition::Unknown()); | 551 SourcePosition::Unknown()); |
552 ValueNumberingReducer vn_reducer(temp_zone); | 552 ValueNumberingReducer vn_reducer(temp_zone); |
553 SimplifiedOperatorReducer simple_reducer(data->jsgraph()); | 553 SimplifiedOperatorReducer simple_reducer(data->jsgraph()); |
554 ChangeLowering lowering(data->jsgraph()); | 554 ChangeLowering lowering(data->jsgraph()); |
555 MachineOperatorReducer machine_reducer(data->jsgraph()); | 555 MachineOperatorReducer machine_reducer(data->jsgraph()); |
556 CommonOperatorReducer common_reducer; | 556 CommonOperatorReducer common_reducer(data->jsgraph()); |
557 GraphReducer graph_reducer(data->graph(), temp_zone); | 557 GraphReducer graph_reducer(data->graph(), temp_zone); |
558 AddReducer(data, &graph_reducer, &vn_reducer); | 558 AddReducer(data, &graph_reducer, &vn_reducer); |
559 AddReducer(data, &graph_reducer, &simple_reducer); | 559 AddReducer(data, &graph_reducer, &simple_reducer); |
560 AddReducer(data, &graph_reducer, &lowering); | 560 AddReducer(data, &graph_reducer, &lowering); |
561 AddReducer(data, &graph_reducer, &machine_reducer); | 561 AddReducer(data, &graph_reducer, &machine_reducer); |
562 AddReducer(data, &graph_reducer, &common_reducer); | 562 AddReducer(data, &graph_reducer, &common_reducer); |
563 graph_reducer.ReduceGraph(); | 563 graph_reducer.ReduceGraph(); |
564 } | 564 } |
565 }; | 565 }; |
566 | 566 |
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1198 | 1198 |
1199 if (FLAG_trace_turbo && !data->MayHaveUnverifiableGraph()) { | 1199 if (FLAG_trace_turbo && !data->MayHaveUnverifiableGraph()) { |
1200 TurboCfgFile tcf(data->isolate()); | 1200 TurboCfgFile tcf(data->isolate()); |
1201 tcf << AsC1VAllocator("CodeGen", data->register_allocator()); | 1201 tcf << AsC1VAllocator("CodeGen", data->register_allocator()); |
1202 } | 1202 } |
1203 } | 1203 } |
1204 | 1204 |
1205 } // namespace compiler | 1205 } // namespace compiler |
1206 } // namespace internal | 1206 } // namespace internal |
1207 } // namespace v8 | 1207 } // namespace v8 |
OLD | NEW |