OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 VM_INSTRUCTIONS_X64_H_ | 6 #ifndef VM_INSTRUCTIONS_X64_H_ |
7 #define VM_INSTRUCTIONS_X64_H_ | 7 #define VM_INSTRUCTIONS_X64_H_ |
8 | 8 |
9 #ifndef VM_INSTRUCTIONS_H_ | 9 #ifndef VM_INSTRUCTIONS_H_ |
10 #error Do not include instructions_ia32.h directly; use instructions.h instead. | 10 #error Do not include instructions_ia32.h directly; use instructions.h instead. |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 void SetTargetAddress(uword new_target) const; | 94 void SetTargetAddress(uword new_target) const; |
95 | 95 |
96 private: | 96 private: |
97 static const int kLengthInBytes = 5; | 97 static const int kLengthInBytes = 5; |
98 virtual const int* pattern() const; | 98 virtual const int* pattern() const; |
99 | 99 |
100 DISALLOW_COPY_AND_ASSIGN(ShortCallPattern); | 100 DISALLOW_COPY_AND_ASSIGN(ShortCallPattern); |
101 }; | 101 }; |
102 | 102 |
103 | 103 |
| 104 class ReturnPattern : public InstructionPattern { |
| 105 public: |
| 106 explicit ReturnPattern(uword pc) : InstructionPattern(pc) {} |
| 107 |
| 108 virtual const int* pattern() const; |
| 109 virtual int pattern_length_in_bytes() const { return kLengthInBytes; } |
| 110 |
| 111 private: |
| 112 static const int kLengthInBytes = 1; |
| 113 }; |
| 114 |
104 } // namespace dart | 115 } // namespace dart |
105 | 116 |
106 #endif // VM_INSTRUCTIONS_X64_H_ | 117 #endif // VM_INSTRUCTIONS_X64_H_ |
OLD | NEW |