V8 Project
|
Public Member Functions | |
RegExpCompiler (int capture_count, bool ignore_case, bool is_one_byte, Zone *zone) | |
int | AllocateRegister () |
RegExpEngine::CompilationResult | Assemble (RegExpMacroAssembler *assembler, RegExpNode *start, int capture_count, Handle< String > pattern) |
void | AddWork (RegExpNode *node) |
RegExpMacroAssembler * | macro_assembler () |
EndNode * | accept () |
int | recursion_depth () |
void | IncrementRecursionDepth () |
void | DecrementRecursionDepth () |
void | SetRegExpTooBig () |
bool | ignore_case () |
bool | one_byte () |
FrequencyCollator * | frequency_collator () |
int | current_expansion_factor () |
void | set_current_expansion_factor (int value) |
Zone * | zone () const |
Static Public Attributes | |
static const int | kImplementationOffset = 0 |
static const int | kNumberOfRegistersOffset = 0 |
static const int | kCodeOffset = 1 |
static const int | kMaxRecursion = 100 |
static const int | kNoRegister = -1 |
Definition at line 993 of file jsregexp.cc.
v8::internal::RegExpCompiler::RegExpCompiler | ( | int | capture_count, |
bool | ignore_case, | ||
bool | is_one_byte, | ||
Zone * | zone | ||
) |
Definition at line 1073 of file jsregexp.cc.
References v8::internal::EndNode::ACCEPT, accept_, DCHECK, v8::internal::RegExpMacroAssembler::kMaxRegister, next_register_, and zone().
|
inline |
Definition at line 1018 of file jsregexp.cc.
Referenced by v8::internal::RegExpEngine::Compile().
|
inline |
Definition at line 1011 of file jsregexp.cc.
Referenced by v8::internal::RegExpNode::LimitVersions().
|
inline |
Definition at line 998 of file jsregexp.cc.
References v8::internal::RegExpMacroAssembler::kMaxRegister.
RegExpEngine::CompilationResult v8::internal::RegExpCompiler::Assemble | ( | RegExpMacroAssembler * | assembler, |
RegExpNode * | start, | ||
int | capture_count, | ||
Handle< String > | pattern | ||
) |
Definition at line 1089 of file jsregexp.cc.
References v8::internal::RegExpMacroAssembler::Bind(), v8::internal::Handle< T >::cast(), v8::internal::RegExpNode::Emit(), v8::internal::RegExpMacroAssembler::Fail(), v8::internal::RegExpMacroAssembler::GetCode(), v8::internal::Isolate::GetCodeTracer(), v8::internal::Heap::IncreaseTotalRegexpCodeGenerated(), v8::internal::IrregexpRegExpTooBig(), v8::internal::Heap::isolate(), v8::internal::Zone::isolate(), v8::internal::RegExpImpl::kRegExpExecutableMemoryLimit, v8::internal::RegExpImpl::kRegWxpCompiledLimit, macro_assembler(), macro_assembler_, v8::internal::Isolate::memory_allocator(), next_register_, NULL, v8::internal::RegExpMacroAssembler::PushBacktrack(), reg_exp_too_big_, v8::internal::RegExpMacroAssembler::set_slow_safe(), v8::internal::MemoryAllocator::SizeExecutable(), v8::internal::Heap::total_regexp_code_generated(), work_list_, and zone_.
Referenced by v8::internal::RegExpEngine::Compile().
|
inline |
Definition at line 1031 of file jsregexp.cc.
|
inline |
Definition at line 1023 of file jsregexp.cc.
|
inline |
Definition at line 1029 of file jsregexp.cc.
Referenced by v8::internal::RegExpEngine::Compile(), and v8::internal::BoyerMooreLookahead::FindBestInterval().
|
inline |
Definition at line 1027 of file jsregexp.cc.
Referenced by v8::internal::TextNode::Emit(), v8::internal::BackReferenceNode::Emit(), v8::internal::TextNode::FillInBMInfo(), and v8::internal::TextNode::GetQuickCheckDetails().
|
inline |
Definition at line 1022 of file jsregexp.cc.
Referenced by v8::internal::RecursionCheck::RecursionCheck().
|
inline |
Definition at line 1017 of file jsregexp.cc.
Referenced by Assemble(), v8::internal::AssertionNode::BacktrackIfPrevious(), v8::internal::ChoiceNode::CalculatePreloadCharacters(), v8::internal::ActionNode::Emit(), v8::internal::AssertionNode::Emit(), v8::internal::BackReferenceNode::Emit(), v8::internal::EndNode::Emit(), v8::internal::NegativeSubmatchSuccess::Emit(), v8::internal::ChoiceNode::Emit(), v8::internal::LoopChoiceNode::Emit(), v8::internal::EmitAtomLetter(), v8::internal::EmitAtomNonLetter(), v8::internal::AssertionNode::EmitBoundaryCheck(), v8::internal::ChoiceNode::EmitChoices(), v8::internal::ChoiceNode::EmitGreedyLoop(), v8::internal::EmitHat(), v8::internal::ChoiceNode::EmitOptimizedUnanchoredSearch(), v8::internal::ChoiceNode::EmitOutOfLineContinuation(), v8::internal::RegExpNode::EmitQuickCheck(), v8::internal::EmitSimpleCharacter(), v8::internal::Trace::Flush(), v8::internal::TextNode::GetQuickCheckDetails(), v8::internal::RegExpNode::LimitVersions(), and v8::internal::TextNode::TextEmitPass().
|
inline |
Definition at line 1028 of file jsregexp.cc.
Referenced by v8::internal::Trace::AdvanceCurrentPositionInTrace(), v8::internal::BoyerMooreLookahead::BoyerMooreLookahead(), v8::internal::ChoiceNode::CalculatePreloadCharacters(), v8::internal::TextNode::Emit(), v8::internal::EmitAtomLetter(), v8::internal::EmitAtomNonLetter(), v8::internal::EmitHat(), v8::internal::RegExpNode::EmitQuickCheck(), v8::internal::BoyerMooreLookahead::FindBestInterval(), v8::internal::TextNode::GetQuickCheckDetails(), v8::internal::TextNode::GetSuccessorOfOmnivorousTextNode(), v8::internal::ChoiceNode::SetUpPreLoad(), and v8::internal::TextNode::TextEmitPass().
|
inline |
Definition at line 1021 of file jsregexp.cc.
Referenced by v8::internal::RegExpNode::LimitVersions().
|
inline |
Definition at line 1032 of file jsregexp.cc.
Referenced by v8::internal::RegExpExpansionLimiter::RegExpExpansionLimiter(), and v8::internal::RegExpExpansionLimiter::~RegExpExpansionLimiter().
|
inline |
Definition at line 1025 of file jsregexp.cc.
Referenced by v8::internal::Trace::AdvanceCurrentPositionInTrace(), and v8::internal::TextNode::Emit().
|
inline |
Definition at line 1036 of file jsregexp.cc.
Referenced by v8::internal::Trace::Flush(), and RegExpCompiler().
|
private |
Definition at line 1041 of file jsregexp.cc.
Referenced by RegExpCompiler().
|
private |
Definition at line 1049 of file jsregexp.cc.
|
private |
Definition at line 1050 of file jsregexp.cc.
|
private |
Definition at line 1046 of file jsregexp.cc.
|
static |
Definition at line 1015 of file jsregexp.cc.
|
static |
Definition at line 1013 of file jsregexp.cc.
|
static |
Definition at line 1020 of file jsregexp.cc.
Referenced by v8::internal::RegExpEngine::Compile(), v8::internal::ChoiceNode::GreedyLoopTextLengthForAlternative(), and v8::internal::RegExpNode::LimitVersions().
|
static |
Definition at line 1038 of file jsregexp.cc.
Referenced by v8::internal::ActionNode::Emit(), and v8::internal::Trace::FindAffectedRegisters().
|
static |
Definition at line 1014 of file jsregexp.cc.
|
private |
Definition at line 1045 of file jsregexp.cc.
Referenced by Assemble().
|
private |
Definition at line 1042 of file jsregexp.cc.
Referenced by Assemble(), and RegExpCompiler().
|
private |
Definition at line 1047 of file jsregexp.cc.
|
private |
Definition at line 1044 of file jsregexp.cc.
|
private |
Definition at line 1048 of file jsregexp.cc.
Referenced by Assemble().
|
private |
Definition at line 1043 of file jsregexp.cc.
Referenced by Assemble().
|
private |
Definition at line 1051 of file jsregexp.cc.
Referenced by Assemble().