OLD | NEW |
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 Label* on_not_equal) = 0; | 104 Label* on_not_equal) = 0; |
105 // Subtract a constant from the current character, then or with the given | 105 // Subtract a constant from the current character, then or with the given |
106 // constant and then check for a match with c. | 106 // constant and then check for a match with c. |
107 virtual void CheckNotCharacterAfterMinusAnd(uc16 c, | 107 virtual void CheckNotCharacterAfterMinusAnd(uc16 c, |
108 uc16 minus, | 108 uc16 minus, |
109 uc16 and_with, | 109 uc16 and_with, |
110 Label* on_not_equal) = 0; | 110 Label* on_not_equal) = 0; |
111 virtual void CheckNotRegistersEqual(int reg1, | 111 virtual void CheckNotRegistersEqual(int reg1, |
112 int reg2, | 112 int reg2, |
113 Label* on_not_equal) = 0; | 113 Label* on_not_equal) = 0; |
| 114 |
| 115 // Checks whether the given offset from the current position is before |
| 116 // the end of the string. May overwrite the current character. |
| 117 virtual void CheckPosition(int cp_offset, Label* on_outside_input) { |
| 118 LoadCurrentCharacter(cp_offset, on_outside_input, true); |
| 119 } |
114 // Check whether a standard/default character class matches the current | 120 // Check whether a standard/default character class matches the current |
115 // character. Returns false if the type of special character class does | 121 // character. Returns false if the type of special character class does |
116 // not have custom support. | 122 // not have custom support. |
117 // May clobber the current loaded character. | 123 // May clobber the current loaded character. |
118 virtual bool CheckSpecialCharacterClass(uc16 type, | 124 virtual bool CheckSpecialCharacterClass(uc16 type, |
119 int cp_offset, | 125 int cp_offset, |
120 bool check_offset, | 126 bool check_offset, |
121 Label* on_no_match) { | 127 Label* on_no_match) { |
122 return false; | 128 return false; |
123 } | 129 } |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 ArraySlice GetBuffer(Vector<T> values); | 217 ArraySlice GetBuffer(Vector<T> values); |
212 private: | 218 private: |
213 size_t byte_array_size_; | 219 size_t byte_array_size_; |
214 Handle<ByteArray> current_byte_array_; | 220 Handle<ByteArray> current_byte_array_; |
215 int current_byte_array_free_offset_; | 221 int current_byte_array_free_offset_; |
216 }; | 222 }; |
217 | 223 |
218 } } // namespace v8::internal | 224 } } // namespace v8::internal |
219 | 225 |
220 #endif // V8_REGEXP_MACRO_ASSEMBLER_H_ | 226 #endif // V8_REGEXP_MACRO_ASSEMBLER_H_ |
OLD | NEW |