OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 VM_ASSEMBLER_ARM64_H_ | 5 #ifndef VM_ASSEMBLER_ARM64_H_ |
6 #define VM_ASSEMBLER_ARM64_H_ | 6 #define VM_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_arm64.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 1201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1212 void SmiUntag(Register dst, Register src) { | 1212 void SmiUntag(Register dst, Register src) { |
1213 AsrImmediate(dst, src, kSmiTagSize); | 1213 AsrImmediate(dst, src, kSmiTagSize); |
1214 } | 1214 } |
1215 void SmiTag(Register reg) { | 1215 void SmiTag(Register reg) { |
1216 LslImmediate(reg, reg, kSmiTagSize); | 1216 LslImmediate(reg, reg, kSmiTagSize); |
1217 } | 1217 } |
1218 void SmiTag(Register dst, Register src) { | 1218 void SmiTag(Register dst, Register src) { |
1219 LslImmediate(dst, src, kSmiTagSize); | 1219 LslImmediate(dst, src, kSmiTagSize); |
1220 } | 1220 } |
1221 | 1221 |
1222 void BranchIfNotSmi(Register reg, Label* label) { | |
1223 tsti(reg, Immediate(kSmiTagMask)); | |
1224 b(label, NE); | |
1225 } | |
1226 | |
1227 void Branch(const StubEntry& stub_entry, | 1222 void Branch(const StubEntry& stub_entry, |
1228 Register pp, | 1223 Register pp, |
1229 Patchability patchable = kNotPatchable); | 1224 Patchability patchable = kNotPatchable); |
1230 void BranchPatchable(const StubEntry& stub_entry); | 1225 void BranchPatchable(const StubEntry& stub_entry); |
1231 | 1226 |
1232 void BranchLink(const StubEntry& stub_entry, | 1227 void BranchLink(const StubEntry& stub_entry, |
1233 Patchability patchable = kNotPatchable); | 1228 Patchability patchable = kNotPatchable); |
1234 | 1229 |
1235 void BranchLinkPatchable(const StubEntry& stub_entry); | 1230 void BranchLinkPatchable(const StubEntry& stub_entry); |
1236 void BranchLinkToRuntime(); | 1231 void BranchLinkToRuntime(); |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1951 Register value, | 1946 Register value, |
1952 Label* no_update); | 1947 Label* no_update); |
1953 | 1948 |
1954 DISALLOW_ALLOCATION(); | 1949 DISALLOW_ALLOCATION(); |
1955 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1950 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1956 }; | 1951 }; |
1957 | 1952 |
1958 } // namespace dart | 1953 } // namespace dart |
1959 | 1954 |
1960 #endif // VM_ASSEMBLER_ARM64_H_ | 1955 #endif // VM_ASSEMBLER_ARM64_H_ |
OLD | NEW |