OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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/globals.h" // Needed here to get TARGET_ARCH_IA32. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32. |
6 #if defined(TARGET_ARCH_IA32) | 6 #if defined(TARGET_ARCH_IA32) |
7 | 7 |
8 #include "vm/flow_graph_compiler.h" | 8 #include "vm/flow_graph_compiler.h" |
9 | 9 |
10 #include "vm/ast_printer.h" | 10 #include "vm/ast_printer.h" |
(...skipping 1007 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1018 } else if (!flow_graph().IsCompiledForOsr()) { | 1018 } else if (!flow_graph().IsCompiledForOsr()) { |
1019 AddCurrentDescriptor(PcDescriptors::kEntryPatch, | 1019 AddCurrentDescriptor(PcDescriptors::kEntryPatch, |
1020 Isolate::kNoDeoptId, | 1020 Isolate::kNoDeoptId, |
1021 0); // No token position. | 1021 0); // No token position. |
1022 } | 1022 } |
1023 __ Comment("Enter frame"); | 1023 __ Comment("Enter frame"); |
1024 if (flow_graph().IsCompiledForOsr()) { | 1024 if (flow_graph().IsCompiledForOsr()) { |
1025 intptr_t extra_slots = StackSize() | 1025 intptr_t extra_slots = StackSize() |
1026 - flow_graph().num_stack_locals() | 1026 - flow_graph().num_stack_locals() |
1027 - flow_graph().num_copied_params(); | 1027 - flow_graph().num_copied_params(); |
1028 ASSERT(extra_slots >= 0); | |
1029 __ EnterOsrFrame(extra_slots * kWordSize); | 1028 __ EnterOsrFrame(extra_slots * kWordSize); |
1030 } else { | 1029 } else { |
1031 ASSERT(StackSize() >= 0); | 1030 ASSERT(StackSize() >= 0); |
1032 __ EnterDartFrame(StackSize() * kWordSize); | 1031 __ EnterDartFrame(StackSize() * kWordSize); |
1033 } | 1032 } |
1034 } | 1033 } |
1035 | 1034 |
1036 | 1035 |
1037 void FlowGraphCompiler::CompileGraph() { | 1036 void FlowGraphCompiler::CompileGraph() { |
1038 InitCompiler(); | 1037 InitCompiler(); |
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1820 __ movups(reg, Address(ESP, 0)); | 1819 __ movups(reg, Address(ESP, 0)); |
1821 __ addl(ESP, Immediate(kFpuRegisterSize)); | 1820 __ addl(ESP, Immediate(kFpuRegisterSize)); |
1822 } | 1821 } |
1823 | 1822 |
1824 | 1823 |
1825 #undef __ | 1824 #undef __ |
1826 | 1825 |
1827 } // namespace dart | 1826 } // namespace dart |
1828 | 1827 |
1829 #endif // defined TARGET_ARCH_IA32 | 1828 #endif // defined TARGET_ARCH_IA32 |
OLD | NEW |