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

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

Issue 2280673003: [turbofan] Separate typed optimizations from JSTypedLowering. (Closed)
Patch Set: Created 4 years, 3 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 <memory> 8 #include <memory>
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 #include "src/compiler/register-allocator.h" 56 #include "src/compiler/register-allocator.h"
57 #include "src/compiler/schedule.h" 57 #include "src/compiler/schedule.h"
58 #include "src/compiler/scheduler.h" 58 #include "src/compiler/scheduler.h"
59 #include "src/compiler/select-lowering.h" 59 #include "src/compiler/select-lowering.h"
60 #include "src/compiler/simplified-lowering.h" 60 #include "src/compiler/simplified-lowering.h"
61 #include "src/compiler/simplified-operator-reducer.h" 61 #include "src/compiler/simplified-operator-reducer.h"
62 #include "src/compiler/simplified-operator.h" 62 #include "src/compiler/simplified-operator.h"
63 #include "src/compiler/store-store-elimination.h" 63 #include "src/compiler/store-store-elimination.h"
64 #include "src/compiler/tail-call-optimization.h" 64 #include "src/compiler/tail-call-optimization.h"
65 #include "src/compiler/type-hint-analyzer.h" 65 #include "src/compiler/type-hint-analyzer.h"
66 #include "src/compiler/typed-optimization.h"
66 #include "src/compiler/typer.h" 67 #include "src/compiler/typer.h"
67 #include "src/compiler/value-numbering-reducer.h" 68 #include "src/compiler/value-numbering-reducer.h"
68 #include "src/compiler/verifier.h" 69 #include "src/compiler/verifier.h"
69 #include "src/compiler/zone-pool.h" 70 #include "src/compiler/zone-pool.h"
70 #include "src/isolate-inl.h" 71 #include "src/isolate-inl.h"
71 #include "src/ostreams.h" 72 #include "src/ostreams.h"
72 #include "src/parsing/parse-info.h" 73 #include "src/parsing/parse-info.h"
73 #include "src/register-configuration.h" 74 #include "src/register-configuration.h"
74 #include "src/type-info.h" 75 #include "src/type-info.h"
75 #include "src/utils.h" 76 #include "src/utils.h"
(...skipping 839 matching lines...) Expand 10 before | Expand all | Expand 10 after
915 JSCreateLowering create_lowering( 916 JSCreateLowering create_lowering(
916 &graph_reducer, data->info()->dependencies(), data->jsgraph(), 917 &graph_reducer, data->info()->dependencies(), data->jsgraph(),
917 literals_array, temp_zone); 918 literals_array, temp_zone);
918 JSTypedLowering::Flags typed_lowering_flags = JSTypedLowering::kNoFlags; 919 JSTypedLowering::Flags typed_lowering_flags = JSTypedLowering::kNoFlags;
919 if (data->info()->is_deoptimization_enabled()) { 920 if (data->info()->is_deoptimization_enabled()) {
920 typed_lowering_flags |= JSTypedLowering::kDeoptimizationEnabled; 921 typed_lowering_flags |= JSTypedLowering::kDeoptimizationEnabled;
921 } 922 }
922 JSTypedLowering typed_lowering(&graph_reducer, data->info()->dependencies(), 923 JSTypedLowering typed_lowering(&graph_reducer, data->info()->dependencies(),
923 typed_lowering_flags, data->jsgraph(), 924 typed_lowering_flags, data->jsgraph(),
924 temp_zone); 925 temp_zone);
926 TypedOptimization typed_optimization(
927 &graph_reducer, data->info()->dependencies(),
928 data->info()->is_deoptimization_enabled()
929 ? TypedOptimization::kDeoptimizationEnabled
930 : TypedOptimization::kNoFlags,
931 data->jsgraph());
925 SimplifiedOperatorReducer simple_reducer(&graph_reducer, data->jsgraph()); 932 SimplifiedOperatorReducer simple_reducer(&graph_reducer, data->jsgraph());
926 CheckpointElimination checkpoint_elimination(&graph_reducer); 933 CheckpointElimination checkpoint_elimination(&graph_reducer);
927 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), 934 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
928 data->common(), data->machine()); 935 data->common(), data->machine());
929 AddReducer(data, &graph_reducer, &dead_code_elimination); 936 AddReducer(data, &graph_reducer, &dead_code_elimination);
930 AddReducer(data, &graph_reducer, &builtin_reducer); 937 AddReducer(data, &graph_reducer, &builtin_reducer);
931 if (data->info()->is_deoptimization_enabled()) { 938 if (data->info()->is_deoptimization_enabled()) {
932 AddReducer(data, &graph_reducer, &create_lowering); 939 AddReducer(data, &graph_reducer, &create_lowering);
933 } 940 }
941 AddReducer(data, &graph_reducer, &typed_optimization);
934 AddReducer(data, &graph_reducer, &typed_lowering); 942 AddReducer(data, &graph_reducer, &typed_lowering);
935 AddReducer(data, &graph_reducer, &simple_reducer); 943 AddReducer(data, &graph_reducer, &simple_reducer);
936 AddReducer(data, &graph_reducer, &checkpoint_elimination); 944 AddReducer(data, &graph_reducer, &checkpoint_elimination);
937 AddReducer(data, &graph_reducer, &common_reducer); 945 AddReducer(data, &graph_reducer, &common_reducer);
938 graph_reducer.ReduceGraph(); 946 graph_reducer.ReduceGraph();
939 } 947 }
940 }; 948 };
941 949
942 950
943 struct EscapeAnalysisPhase { 951 struct EscapeAnalysisPhase {
(...skipping 987 matching lines...) Expand 10 before | Expand all | Expand 10 after
1931 data->DeleteRegisterAllocationZone(); 1939 data->DeleteRegisterAllocationZone();
1932 } 1940 }
1933 1941
1934 CompilationInfo* PipelineImpl::info() const { return data_->info(); } 1942 CompilationInfo* PipelineImpl::info() const { return data_->info(); }
1935 1943
1936 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } 1944 Isolate* PipelineImpl::isolate() const { return info()->isolate(); }
1937 1945
1938 } // namespace compiler 1946 } // namespace compiler
1939 } // namespace internal 1947 } // namespace internal
1940 } // namespace v8 1948 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698