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 // Classes that describe assembly patterns as used by inline caches. | 4 // Classes that describe assembly patterns as used by inline caches. |
5 | 5 |
6 #ifndef RUNTIME_VM_INSTRUCTIONS_ARM64_H_ | 6 #ifndef RUNTIME_VM_INSTRUCTIONS_ARM64_H_ |
7 #define RUNTIME_VM_INSTRUCTIONS_ARM64_H_ | 7 #define RUNTIME_VM_INSTRUCTIONS_ARM64_H_ |
8 | 8 |
9 #ifndef RUNTIME_VM_INSTRUCTIONS_H_ | 9 #ifndef RUNTIME_VM_INSTRUCTIONS_H_ |
10 #error Do not include instructions_arm64.h directly; use instructions.h instead. | 10 #error Do not include instructions_arm64.h directly; use instructions.h instead. |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 }; | 121 }; |
122 | 122 |
123 | 123 |
124 class ReturnPattern : public ValueObject { | 124 class ReturnPattern : public ValueObject { |
125 public: | 125 public: |
126 explicit ReturnPattern(uword pc); | 126 explicit ReturnPattern(uword pc); |
127 | 127 |
128 // bx_lr = 1. | 128 // bx_lr = 1. |
129 static const int kLengthInBytes = 1 * Instr::kInstrSize; | 129 static const int kLengthInBytes = 1 * Instr::kInstrSize; |
130 | 130 |
131 int pattern_length_in_bytes() const { | 131 int pattern_length_in_bytes() const { return kLengthInBytes; } |
132 return kLengthInBytes; | |
133 } | |
134 | 132 |
135 bool IsValid() const; | 133 bool IsValid() const; |
136 | 134 |
137 private: | 135 private: |
138 const uword pc_; | 136 const uword pc_; |
139 }; | 137 }; |
140 | 138 |
141 } // namespace dart | 139 } // namespace dart |
142 | 140 |
143 #endif // RUNTIME_VM_INSTRUCTIONS_ARM64_H_ | 141 #endif // RUNTIME_VM_INSTRUCTIONS_ARM64_H_ |
OLD | NEW |