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/simulator.h" | 9 #include "vm/simulator.h" |
10 #include "vm/runtime_entry.h" | 10 #include "vm/runtime_entry.h" |
(...skipping 2002 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2013 const word address = label->address(); | 2013 const word address = label->address(); |
2014 ASSERT(Utils::IsAligned(address, 4)); | 2014 ASSERT(Utils::IsAligned(address, 4)); |
2015 // The address is stored in the object array as a RawSmi. | 2015 // The address is stored in the object array as a RawSmi. |
2016 const Smi& smi = Smi::Handle(Smi::New(address >> kSmiTagShift)); | 2016 const Smi& smi = Smi::Handle(Smi::New(address >> kSmiTagShift)); |
2017 // Do not reuse an existing entry, since each reference may be patched | 2017 // Do not reuse an existing entry, since each reference may be patched |
2018 // independently. | 2018 // independently. |
2019 object_pool_.Add(smi, Heap::kOld); | 2019 object_pool_.Add(smi, Heap::kOld); |
2020 return object_pool_.Length() - 1; | 2020 return object_pool_.Length() - 1; |
2021 } | 2021 } |
2022 | 2022 |
| 2023 |
| 2024 static const char* cpu_reg_names[kNumberOfCpuRegisters] = { |
| 2025 "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", |
| 2026 "r8", "ctx", "pp", "fp", "ip", "sp", "lr", "pc", |
| 2027 }; |
| 2028 |
| 2029 |
| 2030 const char* Assembler::RegisterName(Register reg) { |
| 2031 ASSERT((0 <= reg) && (reg < kNumberOfCpuRegisters)); |
| 2032 return cpu_reg_names[reg]; |
| 2033 } |
| 2034 |
| 2035 |
| 2036 static const char* fpu_reg_names[kNumberOfFpuRegisters] = { |
| 2037 "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", |
| 2038 "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15", |
| 2039 #ifdef VFPv3_D32 |
| 2040 "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23", |
| 2041 "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31", |
| 2042 #endif |
| 2043 }; |
| 2044 |
| 2045 |
| 2046 const char* Assembler::FpuRegisterName(FpuRegister reg) { |
| 2047 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters)); |
| 2048 return fpu_reg_names[reg]; |
| 2049 } |
| 2050 |
2023 } // namespace dart | 2051 } // namespace dart |
2024 | 2052 |
2025 #endif // defined TARGET_ARCH_ARM | 2053 #endif // defined TARGET_ARCH_ARM |
2026 | 2054 |
OLD | NEW |