| Index: src/scanner.h
|
| diff --git a/src/scanner.h b/src/scanner.h
|
| index 3cefc833ac3323c536ca98015fdfbee1522060d5..d7328085b79245d97b807ff6f7e248d7a6ed207d 100644
|
| --- a/src/scanner.h
|
| +++ b/src/scanner.h
|
| @@ -34,8 +34,6 @@
|
| #include "char-predicates.h"
|
| #include "checks.h"
|
| #include "globals.h"
|
| -#include "hashmap.h"
|
| -#include "list.h"
|
| #include "token.h"
|
| #include "unicode-inl.h"
|
| #include "utils.h"
|
| @@ -123,10 +121,9 @@ class Utf16CharacterStream {
|
| };
|
|
|
|
|
| +class UnicodeCache {
|
| // ---------------------------------------------------------------------
|
| // Caching predicates used by scanners.
|
| -
|
| -class UnicodeCache {
|
| public:
|
| UnicodeCache() {}
|
| typedef unibrow::Utf8Decoder<512> Utf8Decoder;
|
| @@ -151,56 +148,6 @@ class UnicodeCache {
|
| };
|
|
|
|
|
| -// ---------------------------------------------------------------------
|
| -// DuplicateFinder discovers duplicate symbols.
|
| -
|
| -class DuplicateFinder {
|
| - public:
|
| - explicit DuplicateFinder(UnicodeCache* constants)
|
| - : unicode_constants_(constants),
|
| - backing_store_(16),
|
| - map_(&Match) { }
|
| -
|
| - int AddAsciiSymbol(Vector<const char> key, int value);
|
| - int AddUtf16Symbol(Vector<const uint16_t> key, int value);
|
| - // Add a a number literal by converting it (if necessary)
|
| - // to the string that ToString(ToNumber(literal)) would generate.
|
| - // and then adding that string with AddAsciiSymbol.
|
| - // This string is the actual value used as key in an object literal,
|
| - // and the one that must be different from the other keys.
|
| - int AddNumber(Vector<const char> key, int value);
|
| -
|
| - private:
|
| - int AddSymbol(Vector<const byte> key, bool is_ascii, int value);
|
| - // Backs up the key and its length in the backing store.
|
| - // The backup is stored with a base 127 encoding of the
|
| - // length (plus a bit saying whether the string is ASCII),
|
| - // followed by the bytes of the key.
|
| - byte* BackupKey(Vector<const byte> key, bool is_ascii);
|
| -
|
| - // Compare two encoded keys (both pointing into the backing store)
|
| - // for having the same base-127 encoded lengths and ASCII-ness,
|
| - // and then having the same 'length' bytes following.
|
| - static bool Match(void* first, void* second);
|
| - // Creates a hash from a sequence of bytes.
|
| - static uint32_t Hash(Vector<const byte> key, bool is_ascii);
|
| - // Checks whether a string containing a JS number is its canonical
|
| - // form.
|
| - static bool IsNumberCanonical(Vector<const char> key);
|
| -
|
| - // Size of buffer. Sufficient for using it to call DoubleToCString in
|
| - // from conversions.h.
|
| - static const int kBufferSize = 100;
|
| -
|
| - UnicodeCache* unicode_constants_;
|
| - // Backing store used to store strings used as hashmap keys.
|
| - SequenceCollector<unsigned char> backing_store_;
|
| - HashMap map_;
|
| - // Buffer used for string->number->canonical string conversions.
|
| - char number_buffer_[kBufferSize];
|
| -};
|
| -
|
| -
|
| // ----------------------------------------------------------------------------
|
| // LiteralBuffer - Collector of chars of literals.
|
|
|
|
|