v8
3.11.10(node0.8.26)
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 1145 of file jsregexp.h.
|
inlineexplicit |
Definition at line 1147 of file jsregexp.h.
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 1489 of file jsregexp.cc.
References NodeVisitor::VisitLoopChoice().
void AddContinueAlternative | ( | GuardedAlternative | alt | ) |
Definition at line 3391 of file jsregexp.cc.
References ASSERT_EQ, GuardedAlternative::node(), and v8::internal::NULL.
Referenced by RegExpQuantifier::ToNode().
void AddLoopAlternative | ( | GuardedAlternative | alt | ) |
Definition at line 3384 of file jsregexp.cc.
References ASSERT_EQ, GuardedAlternative::node(), and v8::internal::NULL.
Referenced by RegExpQuantifier::ToNode().
|
inline |
Definition at line 1169 of file jsregexp.h.
|
inline |
Definition at line 1168 of file jsregexp.h.
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 2329 of file jsregexp.cc.
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 3398 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 2849 of file jsregexp.cc.
References ChoiceNode::FillInBMInfo(), RegExpCompiler::kMaxRecursion, and BoyerMooreLookahead::SetRest().
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 2747 of file jsregexp.cc.
References RegExpNode::FilterASCII(), ChoiceNode::FilterASCII(), and v8::internal::NULL.
|
virtual |
Reimplemented from ChoiceNode.
Definition at line 2836 of file jsregexp.cc.
References ChoiceNode::GetQuickCheckDetails().
|
inline |
Definition at line 1167 of file jsregexp.h.
Referenced by Analysis::VisitLoopChoice().