Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(291)

Side by Side Diff: src/compiler/pipeline.cc

Issue 1216933011: [turbofan] Enable tail calls for %_CallFunction. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix platform ports Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 685 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 data->common(), data->machine()); 696 data->common(), data->machine());
697 JSGenericLowering generic_lowering(data->info()->is_typing_enabled(), 697 JSGenericLowering generic_lowering(data->info()->is_typing_enabled(),
698 data->jsgraph()); 698 data->jsgraph());
699 SelectLowering select_lowering(data->jsgraph()->graph(), 699 SelectLowering select_lowering(data->jsgraph()->graph(),
700 data->jsgraph()->common()); 700 data->jsgraph()->common());
701 TailCallOptimization tco(data->common(), data->graph()); 701 TailCallOptimization tco(data->common(), data->graph());
702 AddReducer(data, &graph_reducer, &dead_code_elimination); 702 AddReducer(data, &graph_reducer, &dead_code_elimination);
703 AddReducer(data, &graph_reducer, &common_reducer); 703 AddReducer(data, &graph_reducer, &common_reducer);
704 AddReducer(data, &graph_reducer, &generic_lowering); 704 AddReducer(data, &graph_reducer, &generic_lowering);
705 AddReducer(data, &graph_reducer, &select_lowering); 705 AddReducer(data, &graph_reducer, &select_lowering);
706 // TODO(turbofan): TCO is currently limited to stubs. 706 AddReducer(data, &graph_reducer, &tco);
707 if (data->info()->IsStub()) AddReducer(data, &graph_reducer, &tco);
708 graph_reducer.ReduceGraph(); 707 graph_reducer.ReduceGraph();
709 } 708 }
710 }; 709 };
711 710
712 711
713 struct ComputeSchedulePhase { 712 struct ComputeSchedulePhase {
714 static const char* phase_name() { return "scheduling"; } 713 static const char* phase_name() { return "scheduling"; }
715 714
716 void Run(PipelineData* data, Zone* temp_zone) { 715 void Run(PipelineData* data, Zone* temp_zone) {
717 Schedule* schedule = Scheduler::ComputeSchedule( 716 Schedule* schedule = Scheduler::ComputeSchedule(
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
1356 tcf << AsC1VRegisterAllocationData("CodeGen", 1355 tcf << AsC1VRegisterAllocationData("CodeGen",
1357 data->register_allocation_data()); 1356 data->register_allocation_data());
1358 } 1357 }
1359 1358
1360 data->DeleteRegisterAllocationZone(); 1359 data->DeleteRegisterAllocationZone();
1361 } 1360 }
1362 1361
1363 } // namespace compiler 1362 } // namespace compiler
1364 } // namespace internal 1363 } // namespace internal
1365 } // namespace v8 1364 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/mips64/instruction-selector-mips64.cc ('k') | src/compiler/x64/code-generator-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698