Flutter Engine
The Flutter Engine
Classes | Namespaces | Functions | Variables
unibrow.cc File Reference
#include "vm/unibrow.h"
#include "vm/unibrow-inl.h"
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  unibrow::MultiCharacterSpecialCase< kW >
 

Namespaces

namespace  unibrow
 

Functions

template<intptr_t D>
static int32_t unibrow::TableGet (const int32_t *table, intptr_t index)
 
static int32_t unibrow::GetEntry (int32_t entry)
 
static bool unibrow::IsStart (int32_t entry)
 
static bool unibrow::LookupPredicate (const int32_t *table, uint16_t size, int32_t chr)
 
template<bool ranges_are_linear, intptr_t kW>
static intptr_t unibrow::LookupMapping (const int32_t *table, uint16_t size, const MultiCharacterSpecialCase< kW > *multi_chars, int32_t chr, int32_t next, int32_t *result, bool *allow_caching_ptr)
 

Variables

static constexpr intptr_t unibrow::kStartBit = (1 << 30)
 
static constexpr intptr_t unibrow::kChunkBits = (1 << 13)
 
static constexpr int32_t unibrow::kSentinel = static_cast<int32_t>(-1)
 
static constexpr uint16_t unibrow::kLetterTable0Size = 431
 
static constexpr int32_t unibrow::kLetterTable0 [431]
 
static constexpr uint16_t unibrow::kLetterTable1Size = 87
 
static constexpr int32_t unibrow::kLetterTable1 [87]
 
static constexpr uint16_t unibrow::kLetterTable2Size = 4
 
static constexpr int32_t unibrow::kLetterTable2 [4]
 
static constexpr uint16_t unibrow::kLetterTable3Size = 2
 
static constexpr int32_t unibrow::kLetterTable3 [2]
 
static constexpr uint16_t unibrow::kLetterTable4Size = 2
 
static constexpr int32_t unibrow::kLetterTable4 [2]
 
static constexpr uint16_t unibrow::kLetterTable5Size = 100
 
static constexpr int32_t unibrow::kLetterTable5 [100]
 
static constexpr uint16_t unibrow::kLetterTable6Size = 6
 
static constexpr int32_t unibrow::kLetterTable6 [6]
 
static constexpr uint16_t unibrow::kLetterTable7Size = 48
 
static constexpr int32_t unibrow::kLetterTable7 [48]
 
static const MultiCharacterSpecialCase< 1 > unibrow::kEcma262CanonicalizeMultiStrings0 [1]
 
static constexpr uint16_t unibrow::kEcma262CanonicalizeTable0Size = 498
 
static constexpr int32_t unibrow::kEcma262CanonicalizeTable0 [996]
 
static const MultiCharacterSpecialCase< 1 > unibrow::kEcma262CanonicalizeMultiStrings1 [1]
 
static constexpr uint16_t unibrow::kEcma262CanonicalizeTable1Size = 73
 
static constexpr int32_t unibrow::kEcma262CanonicalizeTable1 [146]
 
static const MultiCharacterSpecialCase< 1 > unibrow::kEcma262CanonicalizeMultiStrings5 [1]
 
static constexpr uint16_t unibrow::kEcma262CanonicalizeTable5Size = 95
 
static constexpr int32_t unibrow::kEcma262CanonicalizeTable5 [190]
 
static const MultiCharacterSpecialCase< 1 > unibrow::kEcma262CanonicalizeMultiStrings7 [1]
 
static constexpr uint16_t unibrow::kEcma262CanonicalizeTable7Size = 2
 
static constexpr int32_t unibrow::kEcma262CanonicalizeTable7 [4]
 
static const MultiCharacterSpecialCase< 4 > unibrow::kEcma262UnCanonicalizeMultiStrings0 [507]
 
static constexpr uint16_t unibrow::kEcma262UnCanonicalizeTable0Size = 1005
 
static constexpr int32_t unibrow::kEcma262UnCanonicalizeTable0 [2010]
 
static const MultiCharacterSpecialCase< 2 > unibrow::kEcma262UnCanonicalizeMultiStrings1 [83]
 
static constexpr uint16_t unibrow::kEcma262UnCanonicalizeTable1Size = 149
 
static constexpr int32_t unibrow::kEcma262UnCanonicalizeTable1 [298]
 
static const MultiCharacterSpecialCase< 2 > unibrow::kEcma262UnCanonicalizeMultiStrings5 [104]
 
static constexpr uint16_t unibrow::kEcma262UnCanonicalizeTable5Size = 198
 
static constexpr int32_t unibrow::kEcma262UnCanonicalizeTable5 [396]
 
static const MultiCharacterSpecialCase< 2 > unibrow::kEcma262UnCanonicalizeMultiStrings7 [3]
 
static constexpr uint16_t unibrow::kEcma262UnCanonicalizeTable7Size = 4
 
static constexpr int32_t unibrow::kEcma262UnCanonicalizeTable7 [8]
 
static const MultiCharacterSpecialCase< 1 > unibrow::kCanonicalizationRangeMultiStrings0 [1]
 
static constexpr uint16_t unibrow::kCanonicalizationRangeTable0Size = 70
 
static constexpr int32_t unibrow::kCanonicalizationRangeTable0 [140]
 
static const MultiCharacterSpecialCase< 1 > unibrow::kCanonicalizationRangeMultiStrings1 [1]
 
static constexpr uint16_t unibrow::kCanonicalizationRangeTable1Size = 14
 
static constexpr int32_t unibrow::kCanonicalizationRangeTable1 [28]
 
static const MultiCharacterSpecialCase< 1 > unibrow::kCanonicalizationRangeMultiStrings7 [1]
 
static constexpr uint16_t unibrow::kCanonicalizationRangeTable7Size = 4
 
static constexpr int32_t unibrow::kCanonicalizationRangeTable7 [8]
 

Detailed Description

Implementations of functions for working with unicode.

Definition in file unibrow.cc.