V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::LoopChoiceNode Class Reference
Inheritance diagram for v8::internal::LoopChoiceNode:
v8::internal::ChoiceNode v8::internal::RegExpNode v8::internal::ZoneObject

Public Member Functions

 LoopChoiceNode (bool body_can_be_zero_length, bool read_backward, Zone *zone)
 
void AddLoopAlternative (GuardedAlternative alt)
 
void AddContinueAlternative (GuardedAlternative alt)
 
void Emit (RegExpCompiler *compiler, Trace *trace) override
 
int EatsAtLeast (int still_to_find, int budget, bool not_at_start) override
 
void GetQuickCheckDetails (QuickCheckDetails *details, RegExpCompiler *compiler, int characters_filled_in, bool not_at_start) override
 
void FillInBMInfo (Isolate *isolate, int offset, int budget, BoyerMooreLookahead *bm, bool not_at_start) override
 
RegExpNodeloop_node ()
 
RegExpNodecontinue_node ()
 
bool body_can_be_zero_length ()
 
bool read_backward () override
 
void Accept (NodeVisitor *visitor) override
 
RegExpNodeFilterOneByte (int depth) override
 
- Public Member Functions inherited from v8::internal::ChoiceNode
 ChoiceNode (int expected_size, Zone *zone)
 
void AddAlternative (GuardedAlternative node)
 
ZoneList< GuardedAlternative > * alternatives ()
 
DispatchTableGetTable (bool ignore_case)
 
int EatsAtLeastHelper (int still_to_find, int budget, 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 (bool is_first)
 
- Public Member Functions inherited from v8::internal::RegExpNode
 RegExpNode (Zone *zone)
 
bool EmitQuickCheck (RegExpCompiler *compiler, Trace *bounds_check_trace, Trace *trace, bool preload_has_checked_bounds, Label *on_possible_success, QuickCheckDetails *details_return, bool fall_through_on_failure)
 
virtual int GreedyLoopTextLength ()
 
virtual RegExpNodeGetSuccessorOfOmnivorousTextNode (RegExpCompiler *compiler)
 
bool KeepRecursing (RegExpCompiler *compiler)
 
RegExpNodereplacement ()
 
RegExpNodeset_replacement (RegExpNode *replacement)
 
void SaveBMInfo (BoyerMooreLookahead *bm, bool not_at_start, int offset)
 
Labellabel ()
 
bool on_work_list ()
 
void set_on_work_list (bool value)
 
NodeInfoinfo ()
 
BoyerMooreLookaheadbm_info (bool not_at_start)
 
Zonezone () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
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 v8::internal::RegExpNode
static const int kNodeIsTooComplexForGreedyLoops = kMinInt
 
static const int kRecursionBudget = 200
 
static const int kMaxCopiesCodeGenerated = 10
 
- Protected Types inherited from v8::internal::RegExpNode
enum  LimitResult { DONE, CONTINUE }
 
- Protected Member Functions inherited from v8::internal::ChoiceNode
int GreedyLoopTextLengthForAlternative (GuardedAlternative *alternative)
 
- Protected Member Functions inherited from v8::internal::RegExpNode
LimitResult LimitVersions (RegExpCompiler *compiler, Trace *trace)
 
void set_bm_info (bool not_at_start, BoyerMooreLookahead *bm)
 
- Protected Attributes inherited from v8::internal::ChoiceNode
ZoneList< GuardedAlternative > * alternatives_
 
- Protected Attributes inherited from v8::internal::RegExpNode
RegExpNodereplacement_
 

Detailed Description

Definition at line 1029 of file jsregexp.h.


The documentation for this class was generated from the following files: