| 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 #ifndef RUNTIME_VM_ASSEMBLER_ARM_H_ | 5 #ifndef RUNTIME_VM_ASSEMBLER_ARM_H_ |
| 6 #define RUNTIME_VM_ASSEMBLER_ARM_H_ | 6 #define RUNTIME_VM_ASSEMBLER_ARM_H_ |
| 7 | 7 |
| 8 #ifndef RUNTIME_VM_ASSEMBLER_H_ | 8 #ifndef RUNTIME_VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_arm.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 962 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 973 ASSERT(kSmiTagSize == 1); | 973 ASSERT(kSmiTagSize == 1); |
| 974 Asrs(dst, src, Operand(kSmiTagSize)); | 974 Asrs(dst, src, Operand(kSmiTagSize)); |
| 975 b(is_smi, CC); | 975 b(is_smi, CC); |
| 976 } | 976 } |
| 977 | 977 |
| 978 void BranchIfNotSmi(Register reg, Label* label) { | 978 void BranchIfNotSmi(Register reg, Label* label) { |
| 979 tst(reg, Operand(kSmiTagMask)); | 979 tst(reg, Operand(kSmiTagMask)); |
| 980 b(label, NE); | 980 b(label, NE); |
| 981 } | 981 } |
| 982 | 982 |
| 983 void BranchIfSmi(Register reg, Label* label) { |
| 984 tst(reg, Operand(kSmiTagMask)); |
| 985 b(label, EQ); |
| 986 } |
| 987 |
| 983 void CheckCodePointer(); | 988 void CheckCodePointer(); |
| 984 | 989 |
| 985 // Function frame setup and tear down. | 990 // Function frame setup and tear down. |
| 986 void EnterFrame(RegList regs, intptr_t frame_space); | 991 void EnterFrame(RegList regs, intptr_t frame_space); |
| 987 void LeaveFrame(RegList regs); | 992 void LeaveFrame(RegList regs); |
| 988 void Ret(); | 993 void Ret(); |
| 989 void ReserveAlignedFrameSpace(intptr_t frame_space); | 994 void ReserveAlignedFrameSpace(intptr_t frame_space); |
| 990 | 995 |
| 991 // Create a frame for calling into runtime that preserves all volatile | 996 // Create a frame for calling into runtime that preserves all volatile |
| 992 // registers. Frame's SP is guaranteed to be correctly aligned and | 997 // registers. Frame's SP is guaranteed to be correctly aligned and |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1247 Register value, | 1252 Register value, |
| 1248 Label* no_update); | 1253 Label* no_update); |
| 1249 | 1254 |
| 1250 DISALLOW_ALLOCATION(); | 1255 DISALLOW_ALLOCATION(); |
| 1251 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1256 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1252 }; | 1257 }; |
| 1253 | 1258 |
| 1254 } // namespace dart | 1259 } // namespace dart |
| 1255 | 1260 |
| 1256 #endif // RUNTIME_VM_ASSEMBLER_ARM_H_ | 1261 #endif // RUNTIME_VM_ASSEMBLER_ARM_H_ |
| OLD | NEW |