![]() |
v8
3.11.10(node0.8.26)
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 = 0, TRUE = 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 1338 of file jsregexp.h.
| enum TriBool |
| Enumerator | |
|---|---|
| UNKNOWN | |
| FALSE | |
| TRUE | |
Definition at line 1342 of file jsregexp.h.
|
inline |
Definition at line 1401 of file jsregexp.h.
|
inline |
Definition at line 1418 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1454 of file jsregexp.h.
References ASSERT, and v8::internal::NULL.
Referenced by ActionNode::Emit().
| void AdvanceCurrentPositionInTrace | ( | int | by, |
| RegExpCompiler * | compiler | ||
| ) |
Definition at line 3285 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 1438 of file jsregexp.h.
Referenced by AssertionNode::Emit(), ChoiceNode::Emit(), and RegExpNode::EmitQuickCheck().
|
inline |
Definition at line 1440 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 1444 of file jsregexp.h.
Referenced by TextNode::Emit().
|
inline |
Definition at line 1443 of file jsregexp.h.
Referenced by TextNode::Emit(), ChoiceNode::Emit(), and RegExpNode::EmitQuickCheck().
|
inline |
Definition at line 1417 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 1283 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 1445 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
| bool GetStoredPosition | ( | int | reg, |
| int * | cp_offset | ||
| ) |
Definition at line 1095 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 3280 of file jsregexp.cc.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1429 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 1441 of file jsregexp.h.
Referenced by LoopChoiceNode::Emit().
| bool mentions_reg | ( | int | reg | ) |
Definition at line 1084 of file jsregexp.cc.
References v8::internal::NULL.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1446 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1439 of file jsregexp.h.
References Trace::FALSE, and Trace::TRUE.
Referenced by TextNode::Emit(), AssertionNode::Emit(), and ChoiceNode::Emit().
|
inline |
Definition at line 1459 of file jsregexp.h.
References Trace::backtrack().
Referenced by ActionNode::Emit(), and ChoiceNode::Emit().
|
inline |
Definition at line 1463 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1462 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1464 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1461 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1465 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1460 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1442 of file jsregexp.h.
Referenced by ChoiceNode::Emit(), LoopChoiceNode::Emit(), and RegExpNode::LimitVersions().