V8 Project
|
Classes | |
struct | MultiCharacterSpecialCase |
class | Predicate |
class | Mapping |
class | UnicodeData |
class | Utf16 |
class | Latin1 |
class | Utf8 |
class | Utf8DecoderBase |
class | Utf8Decoder |
struct | Uppercase |
struct | Lowercase |
struct | Letter |
struct | Number |
struct | WhiteSpace |
struct | LineTerminator |
struct | CombiningMark |
struct | ConnectorPunctuation |
struct | ToLowercase |
struct | ToUppercase |
struct | Ecma262Canonicalize |
struct | Ecma262UnCanonicalize |
struct | CanonicalizationRange |
Typedefs | |
typedef signed short | int16_t |
typedef unsigned short | uint16_t |
typedef int | int32_t |
typedef unsigned int | uchar |
typedef unsigned char | byte |
Functions | |
template<int D> | |
static uchar | TableGet (const int32_t *table, int index) |
static uchar | GetEntry (int32_t entry) |
static bool | IsStart (int32_t entry) |
static bool | LookupPredicate (const int32_t *table, uint16_t size, uchar chr) |
Look up a character in the unicode table using a mix of binary and interpolation search. More... | |
template<bool ranges_are_linear, int kW> | |
static int | LookupMapping (const int32_t *table, uint16_t size, const MultiCharacterSpecialCase< kW > *multi_chars, uchar chr, uchar next, uchar *result, bool *allow_caching_ptr) |
typedef unsigned char unibrow::byte |
typedef signed short unibrow::int16_t |
Definition at line 22 of file unicode.cc.
typedef int unibrow::int32_t |
Definition at line 24 of file unicode.cc.
typedef unsigned int unibrow::uchar |
typedef unsigned short unibrow::uint16_t |
Definition at line 23 of file unicode.cc.
Definition at line 33 of file unicode.cc.
References kStartBit.
Referenced by LookupMapping(), and LookupPredicate().
Definition at line 38 of file unicode.cc.
References kStartBit.
Referenced by LookupMapping(), and LookupPredicate().
|
static |
Definition at line 102 of file unicode.cc.
References unibrow::MultiCharacterSpecialCase< kW >::chars, GetEntry(), unibrow::Letter::Is(), IsStart(), kChunkBits, and size.
Look up a character in the unicode table using a mix of binary and interpolation search.
For a uniformly distributed array interpolation search beats binary search by a wide margin. However, in this case interpolation search degenerates because of some very high values in the lower end of the table so this function uses a combination. The average number of steps to look up the information about a character is around 10, slightly higher if there is no information available about the character.
Definition at line 53 of file unicode.cc.
References GetEntry(), IsStart(), kChunkBits, and size.
Referenced by unibrow::Uppercase::Is(), unibrow::Lowercase::Is(), unibrow::Letter::Is(), unibrow::Number::Is(), unibrow::WhiteSpace::Is(), unibrow::LineTerminator::Is(), unibrow::CombiningMark::Is(), and unibrow::ConnectorPunctuation::Is().
Definition at line 28 of file unicode.cc.
References v8::internal::D.
|
static |
Definition at line 1713 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 1726 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1727 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 1733 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1734 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 1739 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1716 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 1715 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 1730 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 1729 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 1737 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 1736 of file unicode.cc.
Referenced by unibrow::CanonicalizationRange::Convert().
|
static |
Definition at line 14 of file unicode.cc.
Referenced by LookupMapping(), and LookupPredicate().
|
static |
Definition at line 772 of file unicode.cc.
Referenced by unibrow::CombiningMark::Is().
|
static |
Definition at line 771 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::CombiningMark::Is().
|
static |
Definition at line 807 of file unicode.cc.
Referenced by unibrow::CombiningMark::Is().
|
static |
Definition at line 806 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::CombiningMark::Is().
|
static |
Definition at line 811 of file unicode.cc.
Referenced by unibrow::CombiningMark::Is().
|
static |
Definition at line 810 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::CombiningMark::Is().
|
static |
Definition at line 819 of file unicode.cc.
Referenced by unibrow::CombiningMark::Is().
|
static |
Definition at line 818 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::CombiningMark::Is().
|
static |
Definition at line 844 of file unicode.cc.
Referenced by unibrow::ConnectorPunctuation::Is().
|
static |
Definition at line 843 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::ConnectorPunctuation::Is().
|
static |
Definition at line 847 of file unicode.cc.
Referenced by unibrow::ConnectorPunctuation::Is().
|
static |
Definition at line 846 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::ConnectorPunctuation::Is().
|
static |
Definition at line 850 of file unicode.cc.
Referenced by unibrow::ConnectorPunctuation::Is().
|
static |
Definition at line 849 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::ConnectorPunctuation::Is().
|
static |
Definition at line 1181 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1246 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1247 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1261 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1262 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1277 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1278 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1283 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1184 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1183 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1250 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1249 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1265 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1264 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1281 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1280 of file unicode.cc.
Referenced by unibrow::Ecma262Canonicalize::Convert().
|
static |
Definition at line 1322 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1574 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1575 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1618 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1619 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1668 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1669 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1674 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1449 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1448 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1598 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1597 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1644 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1643 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1672 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 1671 of file unicode.cc.
Referenced by unibrow::Ecma262UnCanonicalize::Convert().
|
static |
Definition at line 556 of file unicode.cc.
Referenced by unibrow::Letter::Is().
|
static |
Definition at line 555 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Letter::Is().
|
static |
Definition at line 613 of file unicode.cc.
Referenced by unibrow::Letter::Is().
|
static |
Definition at line 612 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Letter::Is().
|
static |
Definition at line 626 of file unicode.cc.
Referenced by unibrow::Letter::Is().
|
static |
Definition at line 625 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Letter::Is().
|
static |
Definition at line 629 of file unicode.cc.
Referenced by unibrow::Letter::Is().
|
static |
Definition at line 628 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Letter::Is().
|
static |
Definition at line 632 of file unicode.cc.
Referenced by unibrow::Letter::Is().
|
static |
Definition at line 631 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Letter::Is().
|
static |
Definition at line 635 of file unicode.cc.
Referenced by unibrow::Letter::Is().
|
static |
Definition at line 634 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Letter::Is().
|
static |
Definition at line 648 of file unicode.cc.
Referenced by unibrow::Letter::Is().
|
static |
Definition at line 647 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Letter::Is().
|
static |
Definition at line 651 of file unicode.cc.
Referenced by unibrow::Letter::Is().
|
static |
Definition at line 650 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Letter::Is().
|
static |
Definition at line 750 of file unicode.cc.
Referenced by unibrow::LineTerminator::Is().
|
static |
Definition at line 749 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::LineTerminator::Is().
|
static |
Definition at line 753 of file unicode.cc.
Referenced by unibrow::LineTerminator::Is().
|
static |
Definition at line 752 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::LineTerminator::Is().
|
static |
Definition at line 444 of file unicode.cc.
Referenced by unibrow::Lowercase::Is().
|
static |
Definition at line 443 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Lowercase::Is().
|
static |
Definition at line 504 of file unicode.cc.
Referenced by unibrow::Lowercase::Is().
|
static |
Definition at line 503 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Lowercase::Is().
|
static |
Definition at line 517 of file unicode.cc.
Referenced by unibrow::Lowercase::Is().
|
static |
Definition at line 516 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Lowercase::Is().
|
static |
Definition at line 531 of file unicode.cc.
Referenced by unibrow::Lowercase::Is().
|
static |
Definition at line 530 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Lowercase::Is().
const int unibrow::kMaxMappingSize = 4 |
|
static |
Definition at line 693 of file unicode.cc.
Referenced by unibrow::Number::Is().
|
static |
Definition at line 692 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Number::Is().
|
static |
Definition at line 702 of file unicode.cc.
Referenced by unibrow::Number::Is().
|
static |
Definition at line 701 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Number::Is().
|
static |
Definition at line 706 of file unicode.cc.
Referenced by unibrow::Number::Is().
|
static |
Definition at line 705 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Number::Is().
Definition at line 15 of file unicode.cc.
|
static |
Definition at line 13 of file unicode.cc.
Referenced by GetEntry(), and IsStart().
|
static |
Definition at line 868 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 933 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 934 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 948 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 949 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 965 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 966 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 971 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 871 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 870 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 937 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 936 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 952 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 951 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 969 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 968 of file unicode.cc.
Referenced by unibrow::ToLowercase::Convert().
|
static |
Definition at line 1010 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1102 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1103 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1117 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1118 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1133 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1134 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1142 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount().
|
static |
Definition at line 1028 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1027 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1106 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1105 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1121 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1120 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1139 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 1138 of file unicode.cc.
Referenced by unibrow::ToUppercase::Convert().
|
static |
Definition at line 333 of file unicode.cc.
Referenced by unibrow::Uppercase::Is().
|
static |
Definition at line 332 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Uppercase::Is().
|
static |
Definition at line 392 of file unicode.cc.
Referenced by unibrow::Uppercase::Is().
|
static |
Definition at line 391 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Uppercase::Is().
|
static |
Definition at line 405 of file unicode.cc.
Referenced by unibrow::Uppercase::Is().
|
static |
Definition at line 404 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Uppercase::Is().
|
static |
Definition at line 419 of file unicode.cc.
Referenced by unibrow::Uppercase::Is().
|
static |
Definition at line 418 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::Uppercase::Is().
|
static |
Definition at line 728 of file unicode.cc.
Referenced by unibrow::WhiteSpace::Is().
|
static |
Definition at line 727 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::WhiteSpace::Is().
|
static |
Definition at line 731 of file unicode.cc.
Referenced by unibrow::WhiteSpace::Is().
|
static |
Definition at line 730 of file unicode.cc.
Referenced by unibrow::UnicodeData::GetByteCount(), and unibrow::WhiteSpace::Is().