V8 Project
jsregexp.cc File Reference
+ Include dependency graph for jsregexp.cc:

Go to the source code of this file.

Classes

class  v8::internal::FrequencyCollator
 
class  v8::internal::FrequencyCollator::CharacterFrequency
 
class  v8::internal::RegExpCompiler
 
class  v8::internal::RecursionCheck
 
class  v8::internal::VisitMarker
 
class  v8::internal::AlternativeGeneration
 
class  v8::internal::AlternativeGenerationList
 
class  v8::internal::RegExpExpansionLimiter
 
class  v8::internal::CharacterRangeSplitter
 
class  v8::internal::AddDispatchRange
 

Namespaces

 v8
 Debugger support for the V8 JavaScript engine.
 
 v8::internal
 

Macros

#define DEFINE_ACCEPT(Type)
 

Typedefs

typedef bool v8::internal::EmitCharacterFunction(Isolate *isolate, RegExpCompiler *compiler, uc16 c, Label *on_failure, int cp_offset, bool check, bool preloaded)
 

Functions

static JSRegExp::Flags v8::internal::RegExpFlagsFromString (Handle< String > str)
 
static MUST_USE_RESULT MaybeHandle< Object > v8::internal::ThrowRegExpException (Handle< JSRegExp > re, Handle< String > pattern, Handle< String > error_text, const char *message)
 
ContainedInLattice v8::internal::AddRange (ContainedInLattice containment, const int *ranges, int ranges_length, Interval new_range)
 
static bool v8::internal::HasFewDifferentCharacters (Handle< String > pattern)
 
static void v8::internal::SetAtomLastCapture (FixedArray *array, String *subject, int from, int to)
 
static void v8::internal::CreateRegExpErrorObjectAndThrow (Handle< JSRegExp > re, Handle< String > error_message, Isolate *isolate)
 
static RegExpEngine::CompilationResult v8::internal::IrregexpRegExpTooBig (Isolate *isolate)
 
static int v8::internal::GetCaseIndependentLetters (Isolate *isolate, uc16 character, bool one_byte_subject, unibrow::uchar *letters)
 
static bool v8::internal::EmitSimpleCharacter (Isolate *isolate, RegExpCompiler *compiler, uc16 c, Label *on_failure, int cp_offset, bool check, bool preloaded)
 
static bool v8::internal::EmitAtomNonLetter (Isolate *isolate, RegExpCompiler *compiler, uc16 c, Label *on_failure, int cp_offset, bool check, bool preloaded)
 
static bool v8::internal::ShortCutEmitCharacterPair (RegExpMacroAssembler *macro_assembler, bool one_byte, uc16 c1, uc16 c2, Label *on_failure)
 
static bool v8::internal::EmitAtomLetter (Isolate *isolate, RegExpCompiler *compiler, uc16 c, Label *on_failure, int cp_offset, bool check, bool preloaded)
 
static void v8::internal::EmitBoundaryTest (RegExpMacroAssembler *masm, int border, Label *fall_through, Label *above_or_equal, Label *below)
 
static void v8::internal::EmitDoubleBoundaryTest (RegExpMacroAssembler *masm, int first, int last, Label *fall_through, Label *in_range, Label *out_of_range)
 
static void v8::internal::EmitUseLookupTable (RegExpMacroAssembler *masm, ZoneList< int > *ranges, int start_index, int end_index, int min_char, Label *fall_through, Label *even_label, Label *odd_label)
 
static void v8::internal::CutOutRange (RegExpMacroAssembler *masm, ZoneList< int > *ranges, int start_index, int end_index, int cut_index, Label *even_label, Label *odd_label)
 
static void v8::internal::SplitSearchSpace (ZoneList< int > *ranges, int start_index, int end_index, int *new_start_index, int *new_end_index, int *border)
 
static void v8::internal::GenerateBranches (RegExpMacroAssembler *masm, ZoneList< int > *ranges, int start_index, int end_index, uc16 min_char, uc16 max_char, Label *fall_through, Label *even_label, Label *odd_label)
 
static void v8::internal::EmitCharClass (RegExpMacroAssembler *macro_assembler, RegExpCharacterClass *cc, bool one_byte, Label *on_failure, int cp_offset, bool check_offset, bool preloaded, Zone *zone)
 
static uint32_t v8::internal::SmearBitsRight (uint32_t v)
 
static bool v8::internal::RangeContainsLatin1Equivalents (CharacterRange range)
 
static bool v8::internal::RangesContainLatin1Equivalents (ZoneList< CharacterRange > *ranges)
 
static void v8::internal::EmitWordCheck (RegExpMacroAssembler *assembler, Label *word, Label *non_word, bool fall_through_on_word)
 
static void v8::internal::EmitHat (RegExpCompiler *compiler, RegExpNode *on_success, Trace *trace)
 
static bool v8::internal::DeterminedAlready (QuickCheckDetails *quick_check, int offset)
 
static void v8::internal::UpdateBoundsCheck (int index, int *checked_up_to)
 
static bool v8::internal::CompareInverseRanges (ZoneList< CharacterRange > *ranges, const int *special_class, int length)
 
static bool v8::internal::CompareRanges (ZoneList< CharacterRange > *ranges, const int *special_class, int length)
 
static void v8::internal::AddClass (const int *elmv, int elmc, ZoneList< CharacterRange > *ranges, Zone *zone)
 
static void v8::internal::AddClassNegated (const int *elmv, int elmc, ZoneList< CharacterRange > *ranges, Zone *zone)
 
static void v8::internal::MoveRanges (ZoneList< CharacterRange > *list, int from, int to, int count)
 
static int v8::internal::InsertRangeInCanonicalList (ZoneList< CharacterRange > *list, int count, CharacterRange insert)
 
 v8::internal::STATIC_ASSERT (BoyerMoorePositionInfo::kMapSize==RegExpMacroAssembler::kTableSize)
 
static int v8::internal::CompareRangeByFrom (const CharacterRange *a, const CharacterRange *b)
 

Variables

const int v8::internal::kMaxLookaheadForBoyerMoore = 8
 
const int v8::internal::kPatternTooShortForBoyerMoore = 2
 
static const int v8::internal::kSpaceRanges []
 
static const int v8::internal::kSpaceRangeCount = arraysize(kSpaceRanges)
 
static const int v8::internal::kWordRanges []
 
static const int v8::internal::kWordRangeCount = arraysize(kWordRanges)
 
static const int v8::internal::kDigitRanges [] = { '0', '9' + 1, 0x10000 }
 
static const int v8::internal::kDigitRangeCount = arraysize(kDigitRanges)
 
static const int v8::internal::kSurrogateRanges [] = { 0xd800, 0xe000, 0x10000 }
 
static const int v8::internal::kSurrogateRangeCount = arraysize(kSurrogateRanges)
 
static const int v8::internal::kLineTerminatorRanges []
 
static const int v8::internal::kLineTerminatorRangeCount = arraysize(kLineTerminatorRanges)
 

Macro Definition Documentation

◆ DEFINE_ACCEPT

#define DEFINE_ACCEPT (   Type)
Value:
void Type##Node::Accept(NodeVisitor* visitor) { \
visitor->Visit##Type(this); \
}
TypeImpl< ZoneTypeConfig > Type

Definition at line 1551 of file jsregexp.cc.