![]() |
v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
Public Member Functions | |
RegExpCompiler (int capture_count, bool ignore_case, bool is_ascii, 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 | ascii () |
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 926 of file jsregexp.cc.
RegExpCompiler | ( | int | capture_count, |
bool | ignore_case, | ||
bool | is_ascii, | ||
Zone * | zone | ||
) |
Definition at line 1006 of file jsregexp.cc.
References EndNode::ACCEPT, ASSERT, RegExpMacroAssembler::kMaxRegister, and RegExpCompiler::zone().
|
inline |
Definition at line 951 of file jsregexp.cc.
Referenced by RegExpEngine::Compile().
|
inline |
Definition at line 944 of file jsregexp.cc.
Referenced by RegExpNode::LimitVersions().
|
inline |
Definition at line 931 of file jsregexp.cc.
References RegExpMacroAssembler::kMaxRegister.
Referenced by RegExpAssertion::ToNode(), RegExpQuantifier::ToNode(), and RegExpLookahead::ToNode().
|
inline |
Definition at line 961 of file jsregexp.cc.
Referenced by Trace::AdvanceCurrentPositionInTrace(), BoyerMooreLookahead::BoyerMooreLookahead(), TextNode::Emit(), ChoiceNode::Emit(), RegExpNode::EmitQuickCheck(), TextNode::GetQuickCheckDetails(), and TextNode::GetSuccessorOfOmnivorousTextNode().
RegExpEngine::CompilationResult Assemble | ( | RegExpMacroAssembler * | assembler, |
RegExpNode * | start, | ||
int | capture_count, | ||
Handle< String > | pattern | ||
) |
Definition at line 1022 of file jsregexp.cc.
References RegExpMacroAssembler::Bind(), Handle< T >::cast(), RegExpNode::Emit(), RegExpMacroAssembler::Fail(), RegExpMacroAssembler::GetCode(), Heap::IncreaseTotalRegexpCodeGenerated(), Heap::isolate(), RegExpImpl::kRegExpExecutableMemoryLimit, RegExpImpl::kRegWxpCompiledLimit, RegExpCompiler::macro_assembler(), Isolate::memory_allocator(), v8::internal::NULL, RegExpMacroAssembler::PushBacktrack(), RegExpMacroAssembler::set_slow_safe(), MemoryAllocator::SizeExecutable(), and Heap::total_regexp_code_generated().
Referenced by RegExpEngine::Compile().
|
inline |
Definition at line 964 of file jsregexp.cc.
|
inline |
Definition at line 956 of file jsregexp.cc.
Referenced by RecursionCheck::~RecursionCheck().
|
inline |
Definition at line 962 of file jsregexp.cc.
Referenced by RegExpEngine::Compile().
|
inline |
Definition at line 960 of file jsregexp.cc.
Referenced by TextNode::Emit(), BackReferenceNode::Emit(), TextNode::FillInBMInfo(), and TextNode::GetQuickCheckDetails().
|
inline |
Definition at line 955 of file jsregexp.cc.
Referenced by RecursionCheck::RecursionCheck().
|
inline |
Definition at line 950 of file jsregexp.cc.
Referenced by RegExpCompiler::Assemble(), ActionNode::Emit(), AssertionNode::Emit(), BackReferenceNode::Emit(), EndNode::Emit(), NegativeSubmatchSuccess::Emit(), ChoiceNode::Emit(), LoopChoiceNode::Emit(), RegExpNode::EmitQuickCheck(), Trace::Flush(), and RegExpNode::LimitVersions().
|
inline |
Definition at line 954 of file jsregexp.cc.
Referenced by RegExpNode::LimitVersions().
|
inline |
Definition at line 965 of file jsregexp.cc.
Referenced by RegExpExpansionLimiter::RegExpExpansionLimiter(), and RegExpExpansionLimiter::~RegExpExpansionLimiter().
|
inline |
Definition at line 958 of file jsregexp.cc.
Referenced by Trace::AdvanceCurrentPositionInTrace(), and TextNode::Emit().
|
inline |
Definition at line 969 of file jsregexp.cc.
Referenced by Trace::Flush(), RegExpCompiler::RegExpCompiler(), RegExpDisjunction::ToNode(), RegExpAssertion::ToNode(), RegExpCharacterClass::ToNode(), RegExpAtom::ToNode(), RegExpText::ToNode(), RegExpQuantifier::ToNode(), RegExpLookahead::ToNode(), and RegExpBackReference::ToNode().
|
static |
Definition at line 948 of file jsregexp.cc.
|
static |
Definition at line 946 of file jsregexp.cc.
|
static |
Definition at line 953 of file jsregexp.cc.
Referenced by RegExpEngine::Compile(), ActionNode::EatsAtLeast(), TextNode::EatsAtLeast(), AssertionNode::EatsAtLeast(), BackReferenceNode::EatsAtLeast(), NegativeLookaheadChoiceNode::EatsAtLeast(), ChoiceNode::EatsAtLeastHelper(), LoopChoiceNode::FillInBMInfo(), ChoiceNode::GreedyLoopTextLengthForAlternative(), and RegExpNode::LimitVersions().
|
static |
Definition at line 971 of file jsregexp.cc.
Referenced by ActionNode::Emit(), and RegExpQuantifier::ToNode().
|
static |
Definition at line 947 of file jsregexp.cc.