OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_REGEXP_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_REGEXP_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ |
6 #define V8_REGEXP_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ | 6 #define V8_REGEXP_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #include "src/arm64/assembler-arm64.h" | 8 #include "src/arm64/assembler-arm64.h" |
9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
10 #include "src/regexp/regexp-macro-assembler.h" | 10 #include "src/regexp/regexp-macro-assembler.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 const byte** input_start, | 102 const byte** input_start, |
103 const byte** input_end); | 103 const byte** input_end); |
104 | 104 |
105 private: | 105 private: |
106 // Above the frame pointer - Stored registers and stack passed parameters. | 106 // Above the frame pointer - Stored registers and stack passed parameters. |
107 // Callee-saved registers x19-x29, where x29 is the old frame pointer. | 107 // Callee-saved registers x19-x29, where x29 is the old frame pointer. |
108 static const int kCalleeSavedRegisters = 0; | 108 static const int kCalleeSavedRegisters = 0; |
109 // Return address. | 109 // Return address. |
110 // It is placed above the 11 callee-saved registers. | 110 // It is placed above the 11 callee-saved registers. |
111 static const int kReturnAddress = kCalleeSavedRegisters + 11 * kPointerSize; | 111 static const int kReturnAddress = kCalleeSavedRegisters + 11 * kPointerSize; |
| 112 static const int kSecondaryReturnAddress = kReturnAddress + kPointerSize; |
112 // Stack parameter placed by caller. | 113 // Stack parameter placed by caller. |
113 static const int kIsolate = kReturnAddress + kPointerSize; | 114 static const int kIsolate = kSecondaryReturnAddress + kPointerSize; |
114 | 115 |
115 // Below the frame pointer. | 116 // Below the frame pointer. |
116 // Register parameters stored by setup code. | 117 // Register parameters stored by setup code. |
117 static const int kDirectCall = kCalleeSavedRegisters - kPointerSize; | 118 static const int kDirectCall = kCalleeSavedRegisters - kPointerSize; |
118 static const int kStackBase = kDirectCall - kPointerSize; | 119 static const int kStackBase = kDirectCall - kPointerSize; |
119 static const int kOutputSize = kStackBase - kPointerSize; | 120 static const int kOutputSize = kStackBase - kPointerSize; |
120 static const int kInput = kOutputSize - kPointerSize; | 121 static const int kInput = kOutputSize - kPointerSize; |
121 // When adding local variables remember to push space for them in | 122 // When adding local variables remember to push space for them in |
122 // the frame in GetCode. | 123 // the frame in GetCode. |
123 static const int kSuccessCounter = kInput - kPointerSize; | 124 static const int kSuccessCounter = kInput - kPointerSize; |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 Label stack_overflow_label_; | 287 Label stack_overflow_label_; |
287 }; | 288 }; |
288 | 289 |
289 #endif // V8_INTERPRETED_REGEXP | 290 #endif // V8_INTERPRETED_REGEXP |
290 | 291 |
291 | 292 |
292 } // namespace internal | 293 } // namespace internal |
293 } // namespace v8 | 294 } // namespace v8 |
294 | 295 |
295 #endif // V8_REGEXP_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ | 296 #endif // V8_REGEXP_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |