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().