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_ARM. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. |
6 #if defined(TARGET_ARCH_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
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 994 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1005 } else if (!flow_graph().IsCompiledForOsr()) { | 1005 } else if (!flow_graph().IsCompiledForOsr()) { |
1006 AddCurrentDescriptor(PcDescriptors::kEntryPatch, | 1006 AddCurrentDescriptor(PcDescriptors::kEntryPatch, |
1007 Isolate::kNoDeoptId, | 1007 Isolate::kNoDeoptId, |
1008 0); // No token position. | 1008 0); // No token position. |
1009 } | 1009 } |
1010 __ Comment("Enter frame"); | 1010 __ Comment("Enter frame"); |
1011 if (flow_graph().IsCompiledForOsr()) { | 1011 if (flow_graph().IsCompiledForOsr()) { |
1012 intptr_t extra_slots = StackSize() | 1012 intptr_t extra_slots = StackSize() |
1013 - flow_graph().num_stack_locals() | 1013 - flow_graph().num_stack_locals() |
1014 - flow_graph().num_copied_params(); | 1014 - flow_graph().num_copied_params(); |
1015 ASSERT(extra_slots >= 0); | |
1016 __ EnterOsrFrame(extra_slots * kWordSize); | 1015 __ EnterOsrFrame(extra_slots * kWordSize); |
1017 } else { | 1016 } else { |
1018 ASSERT(StackSize() >= 0); | 1017 ASSERT(StackSize() >= 0); |
1019 __ EnterDartFrame(StackSize() * kWordSize); | 1018 __ EnterDartFrame(StackSize() * kWordSize); |
1020 } | 1019 } |
1021 } | 1020 } |
1022 | 1021 |
1023 | 1022 |
1024 // Input parameters: | 1023 // Input parameters: |
1025 // LR: return address. | 1024 // LR: return address. |
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1817 DRegister dreg = EvenDRegisterOf(reg); | 1816 DRegister dreg = EvenDRegisterOf(reg); |
1818 __ vldrd(dreg, Address(SP, kDoubleSize, Address::PostIndex)); | 1817 __ vldrd(dreg, Address(SP, kDoubleSize, Address::PostIndex)); |
1819 } | 1818 } |
1820 | 1819 |
1821 | 1820 |
1822 #undef __ | 1821 #undef __ |
1823 | 1822 |
1824 } // namespace dart | 1823 } // namespace dart |
1825 | 1824 |
1826 #endif // defined TARGET_ARCH_ARM | 1825 #endif // defined TARGET_ARCH_ARM |
OLD | NEW |