| 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/adapters.h" | 10 #include "src/base/adapters.h" |
| (...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 545 : JSCallReducer::kNoFlags, | 545 : JSCallReducer::kNoFlags, |
| 546 data->native_context()); | 546 data->native_context()); |
| 547 JSContextSpecialization context_specialization( | 547 JSContextSpecialization context_specialization( |
| 548 &graph_reducer, data->jsgraph(), | 548 &graph_reducer, data->jsgraph(), |
| 549 data->info()->is_function_context_specializing() | 549 data->info()->is_function_context_specializing() |
| 550 ? data->info()->context() | 550 ? data->info()->context() |
| 551 : MaybeHandle<Context>()); | 551 : MaybeHandle<Context>()); |
| 552 JSFrameSpecialization frame_specialization(data->info()->osr_frame(), | 552 JSFrameSpecialization frame_specialization(data->info()->osr_frame(), |
| 553 data->jsgraph()); | 553 data->jsgraph()); |
| 554 JSGlobalObjectSpecialization global_object_specialization( | 554 JSGlobalObjectSpecialization global_object_specialization( |
| 555 &graph_reducer, data->jsgraph(), | 555 &graph_reducer, data->jsgraph(), data->native_context(), |
| 556 data->info()->is_deoptimization_enabled() | 556 data->info()->dependencies()); |
| 557 ? JSGlobalObjectSpecialization::kDeoptimizationEnabled | |
| 558 : JSGlobalObjectSpecialization::kNoFlags, | |
| 559 data->native_context(), data->info()->dependencies()); | |
| 560 JSNativeContextSpecialization native_context_specialization( | 557 JSNativeContextSpecialization native_context_specialization( |
| 561 &graph_reducer, data->jsgraph(), | 558 &graph_reducer, data->jsgraph(), |
| 562 data->info()->is_deoptimization_enabled() | 559 data->info()->is_deoptimization_enabled() |
| 563 ? JSNativeContextSpecialization::kDeoptimizationEnabled | 560 ? JSNativeContextSpecialization::kDeoptimizationEnabled |
| 564 : JSNativeContextSpecialization::kNoFlags, | 561 : JSNativeContextSpecialization::kNoFlags, |
| 565 data->native_context(), data->info()->dependencies(), temp_zone); | 562 data->native_context(), data->info()->dependencies(), temp_zone); |
| 566 JSInliningHeuristic inlining(&graph_reducer, | 563 JSInliningHeuristic inlining(&graph_reducer, |
| 567 data->info()->is_inlining_enabled() | 564 data->info()->is_inlining_enabled() |
| 568 ? JSInliningHeuristic::kGeneralInlining | 565 ? JSInliningHeuristic::kGeneralInlining |
| 569 : JSInliningHeuristic::kRestrictedInlining, | 566 : JSInliningHeuristic::kRestrictedInlining, |
| 570 temp_zone, data->info(), data->jsgraph()); | 567 temp_zone, data->info(), data->jsgraph()); |
| 571 AddReducer(data, &graph_reducer, &dead_code_elimination); | 568 AddReducer(data, &graph_reducer, &dead_code_elimination); |
| 572 AddReducer(data, &graph_reducer, &common_reducer); | 569 AddReducer(data, &graph_reducer, &common_reducer); |
| 573 if (data->info()->is_frame_specializing()) { | 570 if (data->info()->is_frame_specializing()) { |
| 574 AddReducer(data, &graph_reducer, &frame_specialization); | 571 AddReducer(data, &graph_reducer, &frame_specialization); |
| 575 } | 572 } |
| 576 AddReducer(data, &graph_reducer, &global_object_specialization); | 573 if (data->info()->is_deoptimization_enabled()) { |
| 574 AddReducer(data, &graph_reducer, &global_object_specialization); |
| 575 } |
| 577 AddReducer(data, &graph_reducer, &native_context_specialization); | 576 AddReducer(data, &graph_reducer, &native_context_specialization); |
| 578 AddReducer(data, &graph_reducer, &context_specialization); | 577 AddReducer(data, &graph_reducer, &context_specialization); |
| 579 AddReducer(data, &graph_reducer, &call_reducer); | 578 AddReducer(data, &graph_reducer, &call_reducer); |
| 580 AddReducer(data, &graph_reducer, &inlining); | 579 AddReducer(data, &graph_reducer, &inlining); |
| 581 graph_reducer.ReduceGraph(); | 580 graph_reducer.ReduceGraph(); |
| 582 } | 581 } |
| 583 }; | 582 }; |
| 584 | 583 |
| 585 | 584 |
| 586 struct TyperPhase { | 585 struct TyperPhase { |
| (...skipping 900 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1487 tcf << AsC1VRegisterAllocationData("CodeGen", | 1486 tcf << AsC1VRegisterAllocationData("CodeGen", |
| 1488 data->register_allocation_data()); | 1487 data->register_allocation_data()); |
| 1489 } | 1488 } |
| 1490 | 1489 |
| 1491 data->DeleteRegisterAllocationZone(); | 1490 data->DeleteRegisterAllocationZone(); |
| 1492 } | 1491 } |
| 1493 | 1492 |
| 1494 } // namespace compiler | 1493 } // namespace compiler |
| 1495 } // namespace internal | 1494 } // namespace internal |
| 1496 } // namespace v8 | 1495 } // namespace v8 |
| OLD | NEW |