Home | History | Annotate | Download | only in src

Lines Matching refs:pattern

20 // independently of subject and pattern char size.
59 StringSearch(Isolate* isolate, Vector<const PatternChar> pattern)
61 pattern_(pattern),
62 start_(Max(0, pattern.length() - kBMMaxShift)) {
152 // Both pattern and subject are UC16. Reduce character to equivalence class.
158 // TODO(lrn): Introduce a way for a pattern to keep its tables
163 // pattern.
184 // The pattern to search for.
210 inline int FindFirstCharacter(Vector<const PatternChar> pattern,
212 const PatternChar pattern_first_char = pattern[0];
213 const int max_n = (subject.length() - pattern.length() + 1);
234 // Single Character Pattern Search Strategy
258 inline bool CharCompare(const PatternChar* pattern,
264 if (pattern[pos] != subject[pos]) {
279 Vector<const PatternChar> pattern = search->pattern_;
280 DCHECK(pattern.length() > 1);
281 int pattern_length = pattern.length();
285 i = FindFirstCharacter(pattern, subject, i);
291 if (CharCompare(pattern.start() + 1,
309 Vector<const PatternChar> pattern = search->pattern_;
311 int pattern_length = pattern.length();
312 // Only preprocess at most kBMMaxShift last characters of pattern.
318 PatternChar last_char = pattern[pattern_length - 1];
332 while (j >= 0 && pattern[j] == (c = subject[index + j])) j--;
360 const PatternChar* pattern = pattern_.start();
361 // Only look at the last kBMMaxShift characters of pattern (from start_
366 // Biased tables so that we can use pattern indices as table indices,
367 // even if we only cover the part of the pattern from offset start.
383 PatternChar last_char = pattern[pattern_length - 1];
388 PatternChar c = pattern[i - 1];
389 while (suffix <= pattern_length && c != pattern[suffix - 1]) {
398 while ((i > start) && (pattern[i - 1] != last_char)) {
432 Vector<const PatternChar> pattern = search->pattern_;
434 int pattern_length = pattern.length();
439 PatternChar last_char = pattern[pattern_length - 1];
457 while (j >= 0 && pattern[j] == (subject[index + j])) j--;
484 // Only preprocess at most kBMMaxShift last characters of pattern.
517 Vector<const PatternChar> pattern = search->pattern_;
518 int pattern_length = pattern.length();
524 // We know our pattern is at least 2 characters, we cache the first so
529 i = FindFirstCharacter(pattern, subject, i);
534 if (pattern[j] != subject[i + j]) {
554 // If searching multiple times for the same pattern, a search
560 Vector<const PatternChar> pattern,
562 StringSearch<PatternChar, SubjectChar> search(isolate, pattern);