OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 // Register parameters stored by setup code. | 137 // Register parameters stored by setup code. |
138 static const int kDirectCall = kCalleeSavedRegisters - kPointerSize; | 138 static const int kDirectCall = kCalleeSavedRegisters - kPointerSize; |
139 static const int kStackBase = kDirectCall - kPointerSize; | 139 static const int kStackBase = kDirectCall - kPointerSize; |
140 static const int kOutputSize = kStackBase - kPointerSize; | 140 static const int kOutputSize = kStackBase - kPointerSize; |
141 static const int kInput = kOutputSize - kPointerSize; | 141 static const int kInput = kOutputSize - kPointerSize; |
142 // When adding local variables remember to push space for them in | 142 // When adding local variables remember to push space for them in |
143 // the frame in GetCode. | 143 // the frame in GetCode. |
144 static const int kSuccessCounter = kInput - kPointerSize; | 144 static const int kSuccessCounter = kInput - kPointerSize; |
145 // First position register address on the stack. Following positions are | 145 // First position register address on the stack. Following positions are |
146 // below it. A position is a 32 bit value. | 146 // below it. A position is a 32 bit value. |
147 static const int kFirstRegisterOnStack = kSuccessCounter - kWRegSizeInBytes; | 147 static const int kFirstRegisterOnStack = kSuccessCounter - kWRegSize; |
148 // A capture is a 64 bit value holding two position. | 148 // A capture is a 64 bit value holding two position. |
149 static const int kFirstCaptureOnStack = kSuccessCounter - kXRegSizeInBytes; | 149 static const int kFirstCaptureOnStack = kSuccessCounter - kXRegSize; |
150 | 150 |
151 // Initial size of code buffer. | 151 // Initial size of code buffer. |
152 static const size_t kRegExpCodeSize = 1024; | 152 static const size_t kRegExpCodeSize = 1024; |
153 | 153 |
154 // When initializing registers to a non-position value we can unroll | 154 // When initializing registers to a non-position value we can unroll |
155 // the loop. Set the limit of registers to unroll. | 155 // the loop. Set the limit of registers to unroll. |
156 static const int kNumRegistersToUnroll = 16; | 156 static const int kNumRegistersToUnroll = 16; |
157 | 157 |
158 // We are using x0 to x7 as a register cache. Each hardware register must | 158 // We are using x0 to x7 as a register cache. Each hardware register must |
159 // contain one capture, that is two 32 bit registers. We can cache at most | 159 // contain one capture, that is two 32 bit registers. We can cache at most |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 Label check_preempt_label_; | 306 Label check_preempt_label_; |
307 Label stack_overflow_label_; | 307 Label stack_overflow_label_; |
308 }; | 308 }; |
309 | 309 |
310 #endif // V8_INTERPRETED_REGEXP | 310 #endif // V8_INTERPRETED_REGEXP |
311 | 311 |
312 | 312 |
313 }} // namespace v8::internal | 313 }} // namespace v8::internal |
314 | 314 |
315 #endif // V8_A64_REGEXP_MACRO_ASSEMBLER_A64_H_ | 315 #endif // V8_A64_REGEXP_MACRO_ASSEMBLER_A64_H_ |
OLD | NEW |