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" | 5 #include "vm/globals.h" |
6 #if defined(TARGET_ARCH_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
7 | 7 |
8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
9 #include "vm/longjump.h" | 9 #include "vm/longjump.h" |
10 #include "vm/runtime_entry.h" | 10 #include "vm/runtime_entry.h" |
(...skipping 1801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1812 | 1812 |
1813 void Assembler::EmitBranch(Condition cond, Label* label, bool link) { | 1813 void Assembler::EmitBranch(Condition cond, Label* label, bool link) { |
1814 if (label->IsBound()) { | 1814 if (label->IsBound()) { |
1815 const int32_t dest = label->Position() - buffer_.Size(); | 1815 const int32_t dest = label->Position() - buffer_.Size(); |
1816 if (use_far_branches() && !CanEncodeBranchOffset(dest)) { | 1816 if (use_far_branches() && !CanEncodeBranchOffset(dest)) { |
1817 EmitFarBranch(cond, label->Position(), link); | 1817 EmitFarBranch(cond, label->Position(), link); |
1818 } else { | 1818 } else { |
1819 EmitType5(cond, dest, link); | 1819 EmitType5(cond, dest, link); |
1820 } | 1820 } |
1821 } else { | 1821 } else { |
1822 const int position = buffer_.Size(); | 1822 const intptr_t position = buffer_.Size(); |
1823 if (use_far_branches()) { | 1823 if (use_far_branches()) { |
1824 const int32_t dest = label->position_; | 1824 const int32_t dest = label->position_; |
1825 EmitFarBranch(cond, dest, link); | 1825 EmitFarBranch(cond, dest, link); |
1826 } else { | 1826 } else { |
1827 // Use the offset field of the branch instruction for linking the sites. | 1827 // Use the offset field of the branch instruction for linking the sites. |
1828 EmitType5(cond, label->position_, link); | 1828 EmitType5(cond, label->position_, link); |
1829 } | 1829 } |
1830 label->LinkTo(position); | 1830 label->LinkTo(position); |
1831 } | 1831 } |
1832 } | 1832 } |
(...skipping 902 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2735 | 2735 |
2736 const char* Assembler::FpuRegisterName(FpuRegister reg) { | 2736 const char* Assembler::FpuRegisterName(FpuRegister reg) { |
2737 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters)); | 2737 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters)); |
2738 return fpu_reg_names[reg]; | 2738 return fpu_reg_names[reg]; |
2739 } | 2739 } |
2740 | 2740 |
2741 } // namespace dart | 2741 } // namespace dart |
2742 | 2742 |
2743 #endif // defined TARGET_ARCH_ARM | 2743 #endif // defined TARGET_ARCH_ARM |
2744 | 2744 |
OLD | NEW |