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 <memory> | 8 #include <memory> |
9 #include <sstream> | 9 #include <sstream> |
10 | 10 |
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
792 CheckpointElimination checkpoint_elimination(&graph_reducer); | 792 CheckpointElimination checkpoint_elimination(&graph_reducer); |
793 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), | 793 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), |
794 data->common(), data->machine()); | 794 data->common(), data->machine()); |
795 JSCallReducer call_reducer(&graph_reducer, data->jsgraph(), | 795 JSCallReducer call_reducer(&graph_reducer, data->jsgraph(), |
796 data->native_context(), | 796 data->native_context(), |
797 data->info()->dependencies()); | 797 data->info()->dependencies()); |
798 JSContextSpecialization context_specialization( | 798 JSContextSpecialization context_specialization( |
799 &graph_reducer, data->jsgraph(), | 799 &graph_reducer, data->jsgraph(), |
800 data->info()->is_function_context_specializing() | 800 data->info()->is_function_context_specializing() |
801 ? handle(data->info()->context()) | 801 ? handle(data->info()->context()) |
802 : MaybeHandle<Context>()); | 802 : MaybeHandle<Context>(), |
| 803 data->info()->is_function_context_specializing() |
| 804 ? data->info()->closure() |
| 805 : MaybeHandle<JSFunction>()); |
803 JSFrameSpecialization frame_specialization( | 806 JSFrameSpecialization frame_specialization( |
804 &graph_reducer, data->info()->osr_frame(), data->jsgraph()); | 807 &graph_reducer, data->info()->osr_frame(), data->jsgraph()); |
805 JSNativeContextSpecialization::Flags flags = | 808 JSNativeContextSpecialization::Flags flags = |
806 JSNativeContextSpecialization::kNoFlags; | 809 JSNativeContextSpecialization::kNoFlags; |
807 if (data->info()->is_accessor_inlining_enabled()) { | 810 if (data->info()->is_accessor_inlining_enabled()) { |
808 flags |= JSNativeContextSpecialization::kAccessorInliningEnabled; | 811 flags |= JSNativeContextSpecialization::kAccessorInliningEnabled; |
809 } | 812 } |
810 if (data->info()->is_bailout_on_uninitialized()) { | 813 if (data->info()->is_bailout_on_uninitialized()) { |
811 flags |= JSNativeContextSpecialization::kBailoutOnUninitialized; | 814 flags |= JSNativeContextSpecialization::kBailoutOnUninitialized; |
812 } | 815 } |
(...skipping 1209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2022 data->DeleteRegisterAllocationZone(); | 2025 data->DeleteRegisterAllocationZone(); |
2023 } | 2026 } |
2024 | 2027 |
2025 CompilationInfo* PipelineImpl::info() const { return data_->info(); } | 2028 CompilationInfo* PipelineImpl::info() const { return data_->info(); } |
2026 | 2029 |
2027 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } | 2030 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } |
2028 | 2031 |
2029 } // namespace compiler | 2032 } // namespace compiler |
2030 } // namespace internal | 2033 } // namespace internal |
2031 } // namespace v8 | 2034 } // namespace v8 |
OLD | NEW |