![]() |
v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <jsregexp.h>
Data Structures | |
| class | DeferredAction |
| class | DeferredCapture |
| class | DeferredClearCaptures |
| class | DeferredIncrementRegister |
| class | DeferredSetRegister |
Public Types | |
| enum | TriBool { UNKNOWN = -1, FALSE_VALUE = 0, TRUE_VALUE = 1 } |
Public Member Functions | |
| Trace () | |
| void | Flush (RegExpCompiler *compiler, RegExpNode *successor) |
| int | cp_offset () |
| DeferredAction * | actions () |
| bool | is_trivial () |
| TriBool | at_start () |
| void | set_at_start (bool at_start) |
| Label * | backtrack () |
| Label * | loop_label () |
| RegExpNode * | stop_node () |
| int | characters_preloaded () |
| int | bound_checked_up_to () |
| int | flush_budget () |
| QuickCheckDetails * | quick_check_performed () |
| bool | mentions_reg (int reg) |
| bool | GetStoredPosition (int reg, int *cp_offset) |
| void | add_action (DeferredAction *new_action) |
| void | set_backtrack (Label *backtrack) |
| void | set_stop_node (RegExpNode *node) |
| void | set_loop_label (Label *label) |
| void | set_characters_preloaded (int count) |
| void | set_bound_checked_up_to (int to) |
| void | set_flush_budget (int to) |
| void | set_quick_check_performed (QuickCheckDetails *d) |
| void | InvalidateCurrentCharacter () |
| void | AdvanceCurrentPositionInTrace (int by, RegExpCompiler *compiler) |
Definition at line 1349 of file jsregexp.h.
| enum TriBool |
| Enumerator | |
|---|---|
| UNKNOWN | |
| FALSE_VALUE | |
| TRUE_VALUE | |
Definition at line 1353 of file jsregexp.h.
|
inline |
Definition at line 1412 of file jsregexp.h.
|
inline |
Definition at line 1429 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1467 of file jsregexp.h.
References ASSERT, and v8::internal::NULL.
Referenced by ActionNode::Emit().
| void AdvanceCurrentPositionInTrace | ( | int | by, |
| RegExpCompiler * | compiler | ||
| ) |
Definition at line 3404 of file jsregexp.cc.
References QuickCheckDetails::Advance(), RegExpCompiler::ascii(), ASSERT, RegExpMacroAssembler::kMaxCPOffset, v8::internal::Max(), and RegExpCompiler::SetRegExpTooBig().
Referenced by TextNode::Emit().
|
inline |
Definition at line 1449 of file jsregexp.h.
Referenced by AssertionNode::Emit(), ChoiceNode::Emit(), and RegExpNode::EmitQuickCheck().
|
inline |
Definition at line 1453 of file jsregexp.h.
Referenced by ActionNode::Emit(), AssertionNode::Emit(), BackReferenceNode::Emit(), EndNode::Emit(), ChoiceNode::Emit(), RegExpNode::EmitQuickCheck(), Trace::Flush(), and Trace::set_backtrack().
|
inline |
Definition at line 1457 of file jsregexp.h.
Referenced by TextNode::Emit().
|
inline |
Definition at line 1456 of file jsregexp.h.
Referenced by TextNode::Emit(), ChoiceNode::Emit(), and RegExpNode::EmitQuickCheck().
|
inline |
Definition at line 1428 of file jsregexp.h.
Referenced by ActionNode::Emit(), TextNode::Emit(), AssertionNode::Emit(), LoopChoiceNode::Emit(), RegExpNode::EmitQuickCheck(), and Trace::GetStoredPosition().
| void Flush | ( | RegExpCompiler * | compiler, |
| RegExpNode * | successor | ||
| ) |
Definition at line 1378 of file jsregexp.cc.
References RegExpMacroAssembler::AdvanceCurrentPosition(), ASSERT, RegExpMacroAssembler::Backtrack(), Trace::backtrack(), RegExpMacroAssembler::Bind(), RegExpNode::Emit(), RegExpMacroAssembler::GoTo(), Trace::is_trivial(), RegExpCompiler::macro_assembler(), v8::internal::NULL, RegExpMacroAssembler::PopCurrentPosition(), RegExpMacroAssembler::PushBacktrack(), RegExpMacroAssembler::PushCurrentPosition(), and RegExpCompiler::zone().
Referenced by ActionNode::Emit(), BackReferenceNode::Emit(), EndNode::Emit(), ChoiceNode::Emit(), LoopChoiceNode::Emit(), and RegExpNode::LimitVersions().
|
inline |
Definition at line 1458 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
| bool GetStoredPosition | ( | int | reg, |
| int * | cp_offset | ||
| ) |
Definition at line 1190 of file jsregexp.cc.
References ASSERT_EQ, Trace::cp_offset(), v8::internal::NULL, and ActionNode::STORE_POSITION.
Referenced by ActionNode::Emit().
| void InvalidateCurrentCharacter | ( | ) |
Definition at line 3399 of file jsregexp.cc.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1440 of file jsregexp.h.
References QuickCheckDetails::characters(), v8::internal::NULL, and Trace::UNKNOWN.
Referenced by ActionNode::Emit(), BackReferenceNode::Emit(), EndNode::Emit(), ChoiceNode::Emit(), LoopChoiceNode::Emit(), Trace::Flush(), and RegExpNode::LimitVersions().
|
inline |
Definition at line 1454 of file jsregexp.h.
Referenced by LoopChoiceNode::Emit().
| bool mentions_reg | ( | int | reg | ) |
Definition at line 1179 of file jsregexp.cc.
References v8::internal::NULL.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1459 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1450 of file jsregexp.h.
References Trace::FALSE_VALUE, and Trace::TRUE_VALUE.
Referenced by TextNode::Emit(), AssertionNode::Emit(), and ChoiceNode::Emit().
|
inline |
Definition at line 1472 of file jsregexp.h.
References Trace::backtrack().
Referenced by ActionNode::Emit(), and ChoiceNode::Emit().
|
inline |
Definition at line 1476 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1475 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1477 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1474 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1478 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1473 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1455 of file jsregexp.h.
Referenced by ChoiceNode::Emit(), LoopChoiceNode::Emit(), and RegExpNode::LimitVersions().