OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_ | 5 #ifndef V8_REGEXP_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_ |
6 #define V8_REGEXP_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_ | 6 #define V8_REGEXP_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_ |
7 | 7 |
8 #include "src/macro-assembler.h" | 8 #include "src/macro-assembler.h" |
9 #include "src/mips64/assembler-mips64.h" | 9 #include "src/mips64/assembler-mips64.h" |
10 #include "src/regexp/regexp-macro-assembler.h" | 10 #include "src/regexp/regexp-macro-assembler.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 static const int kFramePointer = 0; | 100 static const int kFramePointer = 0; |
101 | 101 |
102 // Above the frame pointer - Stored registers and stack passed parameters. | 102 // Above the frame pointer - Stored registers and stack passed parameters. |
103 // Registers s0 to s7, fp, and ra. | 103 // Registers s0 to s7, fp, and ra. |
104 static const int kStoredRegisters = kFramePointer; | 104 static const int kStoredRegisters = kFramePointer; |
105 // Return address (stored from link register, read into pc on return). | 105 // Return address (stored from link register, read into pc on return). |
106 | 106 |
107 // TODO(plind): This 9 - is 8 s-regs (s0..s7) plus fp. | 107 // TODO(plind): This 9 - is 8 s-regs (s0..s7) plus fp. |
108 | 108 |
109 static const int kReturnAddress = kStoredRegisters + 9 * kPointerSize; | 109 static const int kReturnAddress = kStoredRegisters + 9 * kPointerSize; |
| 110 static const int kSecondaryReturnAddress = kReturnAddress + kPointerSize; |
110 // Stack frame header. | 111 // Stack frame header. |
111 static const int kStackFrameHeader = kReturnAddress; | 112 static const int kStackFrameHeader = kSecondaryReturnAddress; |
112 // Stack parameters placed by caller. | 113 // Stack parameters placed by caller. |
113 static const int kIsolate = kStackFrameHeader + kPointerSize; | 114 static const int kIsolate = kStackFrameHeader + 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 = kFramePointer - kPointerSize; | 118 static const int kDirectCall = kFramePointer - kPointerSize; |
118 static const int kStackHighEnd = kDirectCall - kPointerSize; | 119 static const int kStackHighEnd = kDirectCall - kPointerSize; |
119 static const int kNumOutputRegisters = kStackHighEnd - kPointerSize; | 120 static const int kNumOutputRegisters = kStackHighEnd - kPointerSize; |
120 static const int kRegisterOutput = kNumOutputRegisters - kPointerSize; | 121 static const int kRegisterOutput = kNumOutputRegisters - kPointerSize; |
121 static const int kInputEnd = kRegisterOutput - kPointerSize; | 122 static const int kInputEnd = kRegisterOutput - kPointerSize; |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 Label internal_failure_label_; | 223 Label internal_failure_label_; |
223 }; | 224 }; |
224 | 225 |
225 #endif // V8_INTERPRETED_REGEXP | 226 #endif // V8_INTERPRETED_REGEXP |
226 | 227 |
227 | 228 |
228 } // namespace internal | 229 } // namespace internal |
229 } // namespace v8 | 230 } // namespace v8 |
230 | 231 |
231 #endif // V8_REGEXP_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_ | 232 #endif // V8_REGEXP_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |