Home | History | Annotate | Download | only in src

Lines Matching refs:pattern

40 // independently of subject and pattern char size.
79 StringSearch(Isolate* isolate, Vector<const PatternChar> pattern)
81 pattern_(pattern),
82 start_(Max(0, pattern.length() - kBMMaxShift)) {
164 // Both pattern and subject are UC16. Reduce character to equivalence class.
170 // TODO(lrn): Introduce a way for a pattern to keep its tables
175 // pattern.
196 // The pattern to search for.
206 // Single Character Pattern Search Strategy
245 inline bool CharCompare(const PatternChar* pattern,
251 if (pattern[pos] != subject[pos]) {
266 Vector<const PatternChar> pattern = search->pattern_;
267 ASSERT(pattern.length() > 1);
268 int pattern_length = pattern.length();
269 PatternChar pattern_first_char = pattern[0];
285 if (CharCompare(pattern.start() + 1,
303 Vector<const PatternChar> pattern = search->pattern_;
305 int pattern_length = pattern.length();
306 // Only preprocess at most kBMMaxShift last characters of pattern.
312 PatternChar last_char = pattern[pattern_length - 1];
326 while (j >= 0 && pattern[j] == (c = subject[index + j])) j--;
354 const PatternChar* pattern = pattern_.start();
355 // Only look at the last kBMMaxShift characters of pattern (from start_
360 // Biased tables so that we can use pattern indices as table indices,
361 // even if we only cover the part of the pattern from offset start.
377 PatternChar last_char = pattern[pattern_length - 1];
382 PatternChar c = pattern[i - 1];
383 while (suffix <= pattern_length && c != pattern[suffix - 1]) {
392 while ((i > start) && (pattern[i - 1] != last_char)) {
426 Vector<const PatternChar> pattern = search->pattern_;
428 int pattern_length = pattern.length();
433 PatternChar last_char = pattern[pattern_length - 1];
451 while (j >= 0 && pattern[j] == (subject[index + j])) j--;
478 // Only preprocess at most kBMMaxShift last characters of pattern.
511 Vector<const PatternChar> pattern = search->pattern_;
512 int pattern_length = pattern.length();
518 // We know our pattern is at least 2 characters, we cache the first so
520 PatternChar pattern_first_char = pattern[0];
538 if (pattern[j] != subject[i + j]) {
558 // If searching multiple times for the same pattern, a search
564 Vector<const PatternChar> pattern,
566 StringSearch<PatternChar, SubjectChar> search(isolate, pattern);