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

Side by Side Diff: src/scanner.h

Issue 559913002: Rename ascii to one-byte where applicable. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Features shared by parsing and pre-parsing scanners. 5 // Features shared by parsing and pre-parsing scanners.
6 6
7 #ifndef V8_SCANNER_H_ 7 #ifndef V8_SCANNER_H_
8 #define V8_SCANNER_H_ 8 #define V8_SCANNER_H_
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 public: 145 public:
146 explicit DuplicateFinder(UnicodeCache* constants) 146 explicit DuplicateFinder(UnicodeCache* constants)
147 : unicode_constants_(constants), 147 : unicode_constants_(constants),
148 backing_store_(16), 148 backing_store_(16),
149 map_(&Match) { } 149 map_(&Match) { }
150 150
151 int AddOneByteSymbol(Vector<const uint8_t> key, int value); 151 int AddOneByteSymbol(Vector<const uint8_t> key, int value);
152 int AddTwoByteSymbol(Vector<const uint16_t> key, int value); 152 int AddTwoByteSymbol(Vector<const uint16_t> key, int value);
153 // Add a a number literal by converting it (if necessary) 153 // Add a a number literal by converting it (if necessary)
154 // to the string that ToString(ToNumber(literal)) would generate. 154 // to the string that ToString(ToNumber(literal)) would generate.
155 // and then adding that string with AddAsciiSymbol. 155 // and then adding that string with AddOneByteSymbol.
156 // This string is the actual value used as key in an object literal, 156 // This string is the actual value used as key in an object literal,
157 // and the one that must be different from the other keys. 157 // and the one that must be different from the other keys.
158 int AddNumber(Vector<const uint8_t> key, int value); 158 int AddNumber(Vector<const uint8_t> key, int value);
159 159
160 private: 160 private:
161 int AddSymbol(Vector<const uint8_t> key, bool is_one_byte, int value); 161 int AddSymbol(Vector<const uint8_t> key, bool is_one_byte, int value);
162 // Backs up the key and its length in the backing store. 162 // Backs up the key and its length in the backing store.
163 // The backup is stored with a base 127 encoding of the 163 // The backup is stored with a base 127 encoding of the
164 // length (plus a bit saying whether the string is one byte), 164 // length (plus a bit saying whether the string is one byte),
165 // followed by the bytes of the key. 165 // followed by the bytes of the key.
166 uint8_t* BackupKey(Vector<const uint8_t> key, bool is_one_byte); 166 uint8_t* BackupKey(Vector<const uint8_t> key, bool is_one_byte);
167 167
168 // Compare two encoded keys (both pointing into the backing store) 168 // Compare two encoded keys (both pointing into the backing store)
169 // for having the same base-127 encoded lengths and ASCII-ness, 169 // for having the same base-127 encoded lengths and representation.
170 // and then having the same 'length' bytes following. 170 // and then having the same 'length' bytes following.
171 static bool Match(void* first, void* second); 171 static bool Match(void* first, void* second);
172 // Creates a hash from a sequence of bytes. 172 // Creates a hash from a sequence of bytes.
173 static uint32_t Hash(Vector<const uint8_t> key, bool is_one_byte); 173 static uint32_t Hash(Vector<const uint8_t> key, bool is_one_byte);
174 // Checks whether a string containing a JS number is its canonical 174 // Checks whether a string containing a JS number is its canonical
175 // form. 175 // form.
176 static bool IsNumberCanonical(Vector<const uint8_t> key); 176 static bool IsNumberCanonical(Vector<const uint8_t> key);
177 177
178 // Size of buffer. Sufficient for using it to call DoubleToCString in 178 // Size of buffer. Sufficient for using it to call DoubleToCString in
179 // from conversions.h. 179 // from conversions.h.
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
653 bool harmony_modules_; 653 bool harmony_modules_;
654 // Whether we scan 0o777 and 0b111 as numbers. 654 // Whether we scan 0o777 and 0b111 as numbers.
655 bool harmony_numeric_literals_; 655 bool harmony_numeric_literals_;
656 // Whether we scan 'super' as keyword. 656 // Whether we scan 'super' as keyword.
657 bool harmony_classes_; 657 bool harmony_classes_;
658 }; 658 };
659 659
660 } } // namespace v8::internal 660 } } // namespace v8::internal
661 661
662 #endif // V8_SCANNER_H_ 662 #endif // V8_SCANNER_H_
OLDNEW
« src/jsregexp.cc ('K') | « src/runtime.cc ('k') | src/scanner.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698