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

Side by Side Diff: src/scanner-base.h

Issue 7607031: Update gc branch to bleeding_edge revision 8862. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/gc
Patch Set: Fix bug in weak-map merge Created 9 years, 4 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
« no previous file with comments | « src/runtime.cc ('k') | src/scanner-base.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 600 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 IMP, 611 IMP,
612 IN, 612 IN,
613 N, 613 N,
614 P, 614 P,
615 PR, 615 PR,
616 S, 616 S,
617 T, 617 T,
618 TH, 618 TH,
619 TR, 619 TR,
620 V, 620 V,
621 W 621 W,
622 LAST_STATE = W
622 }; 623 };
623 624
625
626 STATIC_ASSERT(LAST_STATE <= 0xFF);
627 STATIC_ASSERT(Token::NUM_TOKENS <= 0x100);
624 struct FirstState { 628 struct FirstState {
625 const char* keyword; 629 const char* keyword;
626 State state; 630 State state : 8;
627 Token::Value token; 631 Token::Value token : 8;
628 }; 632 };
629 633
630 // Range of possible first characters of a keyword. 634 // Range of possible first characters of a keyword.
631 static const unsigned int kFirstCharRangeMin = 'b'; 635 static const unsigned int kFirstCharRangeMin = 'b';
632 static const unsigned int kFirstCharRangeMax = 'y'; 636 static const unsigned int kFirstCharRangeMax = 'y';
633 static const unsigned int kFirstCharRangeLength = 637 static const unsigned int kFirstCharRangeLength =
634 kFirstCharRangeMax - kFirstCharRangeMin + 1; 638 kFirstCharRangeMax - kFirstCharRangeMin + 1;
635 // State map for first keyword character range. 639 // State map for first keyword character range.
636 static FirstState first_states_[kFirstCharRangeLength]; 640 static const FirstState first_states_[kFirstCharRangeLength];
637 641
638 // If input equals keyword's character at position, continue matching keyword 642 // If input equals keyword's character at position, continue matching keyword
639 // from that position. 643 // from that position.
640 inline bool MatchKeywordStart(unibrow::uchar input, 644 inline bool MatchKeywordStart(unibrow::uchar input,
641 const char* keyword, 645 const char* keyword,
642 int position, 646 int position,
643 Token::Value token_if_match) { 647 Token::Value token_if_match) {
644 if (input != static_cast<unibrow::uchar>(keyword[position])) { 648 if (input != static_cast<unibrow::uchar>(keyword[position])) {
645 return false; 649 return false;
646 } 650 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 // keyword with the current prefix). 687 // keyword with the current prefix).
684 const char* keyword_; 688 const char* keyword_;
685 int counter_; 689 int counter_;
686 Token::Value keyword_token_; 690 Token::Value keyword_token_;
687 }; 691 };
688 692
689 693
690 } } // namespace v8::internal 694 } } // namespace v8::internal
691 695
692 #endif // V8_SCANNER_BASE_H_ 696 #endif // V8_SCANNER_BASE_H_
OLDNEW
« no previous file with comments | « src/runtime.cc ('k') | src/scanner-base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698