| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/intermediate_language.h" | 5 #include "vm/intermediate_language.h" |
| 6 | 6 |
| 7 #include "vm/bit_vector.h" | 7 #include "vm/bit_vector.h" |
| 8 #include "vm/dart_entry.h" | 8 #include "vm/dart_entry.h" |
| 9 #include "vm/flow_graph_allocator.h" | 9 #include "vm/flow_graph_allocator.h" |
| 10 #include "vm/flow_graph_builder.h" | 10 #include "vm/flow_graph_builder.h" |
| (...skipping 2002 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2013 } | 2013 } |
| 2014 | 2014 |
| 2015 | 2015 |
| 2016 LocationSummary* CreateClosureInstr::MakeLocationSummary() const { | 2016 LocationSummary* CreateClosureInstr::MakeLocationSummary() const { |
| 2017 return MakeCallSummary(); | 2017 return MakeCallSummary(); |
| 2018 } | 2018 } |
| 2019 | 2019 |
| 2020 | 2020 |
| 2021 void CreateClosureInstr::EmitNativeCode(FlowGraphCompiler* compiler) { | 2021 void CreateClosureInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 2022 const Function& closure_function = function(); | 2022 const Function& closure_function = function(); |
| 2023 ASSERT(!closure_function.IsImplicitStaticClosureFunction()); |
| 2023 const Code& stub = Code::Handle( | 2024 const Code& stub = Code::Handle( |
| 2024 StubCode::GetAllocationStubForClosure(closure_function)); | 2025 StubCode::GetAllocationStubForClosure(closure_function)); |
| 2025 const ExternalLabel label(closure_function.ToCString(), stub.EntryPoint()); | 2026 const ExternalLabel label(closure_function.ToCString(), stub.EntryPoint()); |
| 2026 compiler->GenerateCall(token_pos(), | 2027 compiler->GenerateCall(token_pos(), |
| 2027 &label, | 2028 &label, |
| 2028 PcDescriptors::kOther, | 2029 PcDescriptors::kOther, |
| 2029 locs()); | 2030 locs()); |
| 2030 __ Drop(2); // Discard type arguments and receiver. | 2031 __ Drop(2); // Discard type arguments and receiver. |
| 2031 } | 2032 } |
| 2032 | 2033 |
| (...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2644 return Array::length_offset(); | 2645 return Array::length_offset(); |
| 2645 default: | 2646 default: |
| 2646 UNREACHABLE(); | 2647 UNREACHABLE(); |
| 2647 return -1; | 2648 return -1; |
| 2648 } | 2649 } |
| 2649 } | 2650 } |
| 2650 | 2651 |
| 2651 #undef __ | 2652 #undef __ |
| 2652 | 2653 |
| 2653 } // namespace dart | 2654 } // namespace dart |
| OLD | NEW |