Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: src/interpreter-irregexp.cc

Issue 18193: Add support for \b and ^ and $ in multiline mode, completing Irregexp... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 } else { 483 } else {
484 if (BackRefMatchesNoCase(from, current, len, subject)) { 484 if (BackRefMatchesNoCase(from, current, len, subject)) {
485 current += len; 485 current += len;
486 pc += BC_CHECK_NOT_BACK_REF_NO_CASE_LENGTH; 486 pc += BC_CHECK_NOT_BACK_REF_NO_CASE_LENGTH;
487 } else { 487 } else {
488 pc = code_base + Load32(pc + 2); 488 pc = code_base + Load32(pc + 2);
489 } 489 }
490 } 490 }
491 break; 491 break;
492 } 492 }
493 BYTECODE(CHECK_AT_START)
494 if (current == 0) {
495 pc = code_base + Load32(pc + 1);
496 } else {
497 pc += BC_CHECK_AT_START_LENGTH;
498 }
499 break;
493 BYTECODE(CHECK_NOT_AT_START) 500 BYTECODE(CHECK_NOT_AT_START)
494 if (current == 0) { 501 if (current == 0) {
495 pc += BC_CHECK_NOT_AT_START_LENGTH; 502 pc += BC_CHECK_NOT_AT_START_LENGTH;
496 } else { 503 } else {
497 pc = code_base + Load32(pc + 1); 504 pc = code_base + Load32(pc + 1);
498 } 505 }
499 break; 506 break;
500 default: 507 default:
501 UNREACHABLE(); 508 UNREACHABLE();
502 break; 509 break;
(...skipping 25 matching lines...) Expand all
528 if (start_position != 0) previous_char = subject_vector[start_position - 1]; 535 if (start_position != 0) previous_char = subject_vector[start_position - 1];
529 return RawMatch(code_base, 536 return RawMatch(code_base,
530 subject_vector, 537 subject_vector,
531 registers, 538 registers,
532 start_position, 539 start_position,
533 previous_char); 540 previous_char);
534 } 541 }
535 } 542 }
536 543
537 } } // namespace v8::internal 544 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698