![]() |
v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <jsregexp.h>


Public Member Functions | |
| LoopChoiceNode (bool body_can_be_zero_length, Zone *zone) | |
| void | AddLoopAlternative (GuardedAlternative alt) |
| void | AddContinueAlternative (GuardedAlternative alt) |
| virtual void | Emit (RegExpCompiler *compiler, Trace *trace) |
| virtual int | EatsAtLeast (int still_to_find, int recursion_depth, bool not_at_start) |
| virtual void | GetQuickCheckDetails (QuickCheckDetails *details, RegExpCompiler *compiler, int characters_filled_in, bool not_at_start) |
| virtual void | FillInBMInfo (int offset, int recursion_depth, int budget, BoyerMooreLookahead *bm, bool not_at_start) |
| RegExpNode * | loop_node () |
| RegExpNode * | continue_node () |
| bool | body_can_be_zero_length () |
| virtual void | Accept (NodeVisitor *visitor) |
| virtual RegExpNode * | FilterASCII (int depth) |
Public Member Functions inherited from ChoiceNode | |
| ChoiceNode (int expected_size, Zone *zone) | |
| void | AddAlternative (GuardedAlternative node) |
| ZoneList< GuardedAlternative > * | alternatives () |
| DispatchTable * | GetTable (bool ignore_case) |
| int | EatsAtLeastHelper (int still_to_find, int recursion_depth, RegExpNode *ignore_this_node, bool not_at_start) |
| bool | being_calculated () |
| bool | not_at_start () |
| void | set_not_at_start () |
| void | set_being_calculated (bool b) |
| virtual bool | try_to_emit_quick_check_for_alternative (int i) |
Public Member Functions inherited from RegExpNode | |
| RegExpNode (Zone *zone) | |
| virtual | ~RegExpNode () |
| bool | EmitQuickCheck (RegExpCompiler *compiler, Trace *trace, bool preload_has_checked_bounds, Label *on_possible_success, QuickCheckDetails *details_return, bool fall_through_on_failure) |
| virtual int | GreedyLoopTextLength () |
| virtual RegExpNode * | GetSuccessorOfOmnivorousTextNode (RegExpCompiler *compiler) |
| RegExpNode * | replacement () |
| RegExpNode * | set_replacement (RegExpNode *replacement) |
| void | SaveBMInfo (BoyerMooreLookahead *bm, bool not_at_start, int offset) |
| Label * | label () |
| NodeInfo * | info () |
| BoyerMooreLookahead * | bm_info (bool not_at_start) |
| Zone * | zone () const |
Public Member Functions inherited from ZoneObject | |
| INLINE (void *operator new(size_t size, Zone *zone)) | |
| void | operator delete (void *, size_t) |
| void | operator delete (void *pointer, Zone *zone) |
Additional Inherited Members | |
Static Public Attributes inherited from RegExpNode | |
| static const int | kNodeIsTooComplexForGreedyLoops = -1 |
| static const int | kFillInBMBudget = 200 |
| static const int | kMaxCopiesCodeGenerated = 10 |
Protected Types inherited from RegExpNode | |
| enum | LimitResult { DONE, CONTINUE } |
Protected Member Functions inherited from ChoiceNode | |
| int | GreedyLoopTextLengthForAlternative (GuardedAlternative *alternative) |
Protected Member Functions inherited from RegExpNode | |
| LimitResult | LimitVersions (RegExpCompiler *compiler, Trace *trace) |
| void | set_bm_info (bool not_at_start, BoyerMooreLookahead *bm) |
Protected Attributes inherited from ChoiceNode | |
| ZoneList< GuardedAlternative > * | alternatives_ |
Protected Attributes inherited from RegExpNode | |
| RegExpNode * | replacement_ |
Definition at line 1162 of file jsregexp.h.
|
inlineexplicit |
Definition at line 1164 of file jsregexp.h.
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 1641 of file jsregexp.cc.
References NodeVisitor::VisitLoopChoice().
| void AddContinueAlternative | ( | GuardedAlternative | alt | ) |
Definition at line 3543 of file jsregexp.cc.
References ASSERT_EQ, GuardedAlternative::node(), and v8::internal::NULL.
Referenced by RegExpQuantifier::ToNode().
| void AddLoopAlternative | ( | GuardedAlternative | alt | ) |
Definition at line 3536 of file jsregexp.cc.
References ASSERT_EQ, GuardedAlternative::node(), and v8::internal::NULL.
Referenced by RegExpQuantifier::ToNode().
|
inline |
Definition at line 1186 of file jsregexp.h.
|
inline |
Definition at line 1185 of file jsregexp.h.
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 2481 of file jsregexp.cc.
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 3550 of file jsregexp.cc.
References RegExpMacroAssembler::AdvanceCurrentPosition(), ASSERT, Trace::cp_offset(), ChoiceNode::Emit(), Trace::Flush(), RegExpMacroAssembler::GoTo(), Trace::is_trivial(), Trace::loop_label(), RegExpCompiler::macro_assembler(), v8::internal::NULL, and Trace::stop_node().
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 3001 of file jsregexp.cc.
References ChoiceNode::FillInBMInfo(), RegExpCompiler::kMaxRecursion, and BoyerMooreLookahead::SetRest().
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 2899 of file jsregexp.cc.
References RegExpNode::FilterASCII(), ChoiceNode::FilterASCII(), and v8::internal::NULL.
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 2988 of file jsregexp.cc.
References ChoiceNode::GetQuickCheckDetails().
|
inline |
Definition at line 1184 of file jsregexp.h.
Referenced by Analysis::VisitLoopChoice().