|
V8 Project
|
#include <jsregexp.h>
Inheritance diagram for v8::internal::ActionNode:
Collaboration diagram for v8::internal::ActionNode:Public Types | |
| enum | ActionType { SET_REGISTER , INCREMENT_REGISTER , STORE_POSITION , BEGIN_SUBMATCH , POSITIVE_SUBMATCH_SUCCESS , EMPTY_MATCH_CHECK , CLEAR_CAPTURES } |
Public Member Functions | |
| virtual void | Accept (NodeVisitor *visitor) |
| virtual void | Emit (RegExpCompiler *compiler, Trace *trace) |
| virtual int | EatsAtLeast (int still_to_find, int budget, bool not_at_start) |
| virtual void | GetQuickCheckDetails (QuickCheckDetails *details, RegExpCompiler *compiler, int filled_in, bool not_at_start) |
| virtual void | FillInBMInfo (int offset, int budget, BoyerMooreLookahead *bm, bool not_at_start) |
| ActionType | action_type () |
| virtual int | GreedyLoopTextLength () |
Public Member Functions inherited from v8::internal::SeqRegExpNode | |
| SeqRegExpNode (RegExpNode *on_success) | |
| RegExpNode * | on_success () |
| void | set_on_success (RegExpNode *node) |
| virtual RegExpNode * | FilterOneByte (int depth, bool ignore_case) |
Public Member Functions inherited from v8::internal::RegExpNode | |
| RegExpNode (Zone *zone) | |
| virtual | ~RegExpNode () |
| 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 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 v8::internal::ZoneObject | |
| INLINE (void *operator new(size_t size, Zone *zone)) | |
| void | operator delete (void *, size_t) |
| void | operator delete (void *pointer, Zone *zone) |
Static Public Member Functions | |
| static ActionNode * | SetRegister (int reg, int val, RegExpNode *on_success) |
| static ActionNode * | IncrementRegister (int reg, RegExpNode *on_success) |
| static ActionNode * | StorePosition (int reg, bool is_capture, RegExpNode *on_success) |
| static ActionNode * | ClearCaptures (Interval range, RegExpNode *on_success) |
| static ActionNode * | BeginSubmatch (int stack_pointer_reg, int position_reg, RegExpNode *on_success) |
| static ActionNode * | PositiveSubmatchSuccess (int stack_pointer_reg, int restore_reg, int clear_capture_count, int clear_capture_from, RegExpNode *on_success) |
| static ActionNode * | EmptyMatchCheck (int start_register, int repetition_register, int repetition_limit, RegExpNode *on_success) |
Private Member Functions | |
| ActionNode (ActionType action_type, RegExpNode *on_success) | |
Private Attributes | |
| union { | |
| struct { | |
| int reg | |
| int value | |
| } u_store_register | |
| struct { | |
| int reg | |
| } u_increment_register | |
| struct { | |
| int reg | |
| bool is_capture | |
| } u_position_register | |
| struct { | |
| int stack_pointer_register | |
| int current_position_register | |
| int clear_register_count | |
| int clear_register_from | |
| } u_submatch | |
| struct { | |
| int start_register | |
| int repetition_register | |
| int repetition_limit | |
| } u_empty_match_check | |
| struct { | |
| int range_from | |
| int range_to | |
| } u_clear_captures | |
| } | data_ |
| ActionType | action_type_ |
Friends | |
| class | DotPrinter |
Additional Inherited Members | |
Static Public Attributes inherited from v8::internal::RegExpNode | |
| static const int | kNodeIsTooComplexForGreedyLoops = -1 |
| 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::SeqRegExpNode | |
| RegExpNode * | FilterSuccessor (int depth, bool ignore_case) |
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::RegExpNode | |
| RegExpNode * | replacement_ |
Definition at line 746 of file jsregexp.h.
| Enumerator | |
|---|---|
| SET_REGISTER | |
| INCREMENT_REGISTER | |
| STORE_POSITION | |
| BEGIN_SUBMATCH | |
| POSITIVE_SUBMATCH_SUCCESS | |
| EMPTY_MATCH_CHECK | |
| CLEAR_CAPTURES | |
Definition at line 748 of file jsregexp.h.
|
inlineprivate |
Definition at line 822 of file jsregexp.h.
|
virtual |
Implements v8::internal::RegExpNode.
|
inline |
|
static |
Definition at line 1512 of file jsregexp.cc.
References data_, u_submatch, and v8::internal::RegExpNode::zone().
Here is the call graph for this function:
|
static |
Definition at line 1502 of file jsregexp.cc.
References data_, v8::internal::Interval::from(), v8::internal::Interval::to(), u_clear_captures, and v8::internal::RegExpNode::zone().
Here is the call graph for this function:
|
virtual |
Implements v8::internal::RegExpNode.
Definition at line 2273 of file jsregexp.cc.
|
virtual |
Implements v8::internal::RegExpNode.
Definition at line 4234 of file jsregexp.cc.
References action_type_, v8::internal::Trace::add_action(), v8::internal::Trace::backtrack(), v8::internal::RegExpMacroAssembler::Backtrack(), BEGIN_SUBMATCH, v8::internal::RegExpMacroAssembler::Bind(), CLEAR_CAPTURES, clear_register_count, v8::internal::RegExpMacroAssembler::ClearRegisters(), v8::internal::RegExpNode::CONTINUE, v8::internal::Trace::cp_offset(), data_, DCHECK, v8::internal::RegExpNode::DONE, v8::internal::RegExpNode::Emit(), EMPTY_MATCH_CHECK, v8::internal::Trace::Flush(), v8::internal::Trace::GetStoredPosition(), v8::internal::RegExpMacroAssembler::GoTo(), v8::internal::RegExpMacroAssembler::IfRegisterEqPos(), v8::internal::RegExpMacroAssembler::IfRegisterLT(), INCREMENT_REGISTER, v8::internal::Trace::is_trivial(), v8::internal::RegExpCompiler::kNoRegister, v8::internal::RegExpNode::LimitVersions(), v8::internal::RegExpCompiler::macro_assembler(), NULL, v8::internal::SeqRegExpNode::on_success(), POSITIVE_SUBMATCH_SUCCESS, v8::internal::RegExpMacroAssembler::ReadCurrentPositionFromRegister(), v8::internal::RegExpMacroAssembler::ReadStackPointerFromRegister(), v8::internal::Trace::set_backtrack(), SET_REGISTER, STORE_POSITION, UNREACHABLE, v8::internal::RegExpMacroAssembler::WriteCurrentPositionToRegister(), and v8::internal::RegExpMacroAssembler::WriteStackPointerToRegister().
Here is the call graph for this function:
|
static |
Definition at line 1538 of file jsregexp.cc.
References data_, u_empty_match_check, and v8::internal::RegExpNode::zone().
Here is the call graph for this function:
|
virtual |
Reimplemented from v8::internal::SeqRegExpNode.
Definition at line 2284 of file jsregexp.cc.
References v8::internal::BoyerMooreLookahead::SetRest().
Here is the call graph for this function:
|
inlinevirtual |
Implements v8::internal::RegExpNode.
Definition at line 778 of file jsregexp.h.
References v8::internal::RegExpNode::GetQuickCheckDetails(), and v8::internal::SeqRegExpNode::on_success().
Here is the call graph for this function:
|
inlinevirtual |
Reimplemented from v8::internal::RegExpNode.
Definition at line 791 of file jsregexp.h.
References v8::internal::RegExpNode::kNodeIsTooComplexForGreedyLoops.
|
static |
Definition at line 1483 of file jsregexp.cc.
References data_, u_increment_register, and v8::internal::RegExpNode::zone().
Here is the call graph for this function:
|
static |
Definition at line 1523 of file jsregexp.cc.
References data_, u_submatch, and v8::internal::RegExpNode::zone().
Here is the call graph for this function:
|
static |
Definition at line 1472 of file jsregexp.cc.
References data_, u_store_register, and v8::internal::RegExpNode::zone().
Here is the call graph for this function:
|
static |
Definition at line 1491 of file jsregexp.cc.
References data_, u_position_register, and v8::internal::RegExpNode::zone().
Here is the call graph for this function:
|
friend |
Definition at line 826 of file jsregexp.h.
|
private |
Definition at line 825 of file jsregexp.h.
Referenced by action_type(), and Emit().
| int v8::internal::ActionNode::clear_register_count |
Definition at line 809 of file jsregexp.h.
Referenced by Emit().
| int v8::internal::ActionNode::clear_register_from |
Definition at line 810 of file jsregexp.h.
| int v8::internal::ActionNode::current_position_register |
Definition at line 808 of file jsregexp.h.
| union { ... } v8::internal::ActionNode::data_ |
Referenced by BeginSubmatch(), ClearCaptures(), Emit(), EmptyMatchCheck(), IncrementRegister(), PositiveSubmatchSuccess(), SetRegister(), and StorePosition().
| bool v8::internal::ActionNode::is_capture |
Definition at line 804 of file jsregexp.h.
| int v8::internal::ActionNode::range_from |
Definition at line 818 of file jsregexp.h.
| int v8::internal::ActionNode::range_to |
Definition at line 819 of file jsregexp.h.
| int v8::internal::ActionNode::reg |
Definition at line 796 of file jsregexp.h.
| int v8::internal::ActionNode::repetition_limit |
Definition at line 815 of file jsregexp.h.
| int v8::internal::ActionNode::repetition_register |
Definition at line 814 of file jsregexp.h.
| int v8::internal::ActionNode::stack_pointer_register |
Definition at line 807 of file jsregexp.h.
| int v8::internal::ActionNode::start_register |
Definition at line 813 of file jsregexp.h.
| struct { ... } v8::internal::ActionNode::u_clear_captures |
Referenced by ClearCaptures().
| struct { ... } v8::internal::ActionNode::u_empty_match_check |
Referenced by EmptyMatchCheck().
| struct { ... } v8::internal::ActionNode::u_increment_register |
Referenced by IncrementRegister().
| struct { ... } v8::internal::ActionNode::u_position_register |
Referenced by StorePosition().
| struct { ... } v8::internal::ActionNode::u_store_register |
Referenced by SetRegister().
| struct { ... } v8::internal::ActionNode::u_submatch |
Referenced by BeginSubmatch(), and PositiveSubmatchSuccess().
| int v8::internal::ActionNode::value |
Definition at line 797 of file jsregexp.h.