v8
3.14.5(node0.10.28)
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 1355 of file jsregexp.h.
enum TriBool |
Enumerator | |
---|---|
UNKNOWN | |
FALSE | |
TRUE |
Definition at line 1359 of file jsregexp.h.
|
inline |
Definition at line 1418 of file jsregexp.h.
|
inline |
Definition at line 1435 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1471 of file jsregexp.h.
References ASSERT, and v8::internal::NULL.
Referenced by ActionNode::Emit().
void AdvanceCurrentPositionInTrace | ( | int | by, |
RegExpCompiler * | compiler | ||
) |
Definition at line 3437 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 1455 of file jsregexp.h.
Referenced by AssertionNode::Emit(), ChoiceNode::Emit(), and RegExpNode::EmitQuickCheck().
|
inline |
Definition at line 1457 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 1461 of file jsregexp.h.
Referenced by TextNode::Emit().
|
inline |
Definition at line 1460 of file jsregexp.h.
Referenced by TextNode::Emit(), ChoiceNode::Emit(), and RegExpNode::EmitQuickCheck().
|
inline |
Definition at line 1434 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 1435 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 1462 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
bool GetStoredPosition | ( | int | reg, |
int * | cp_offset | ||
) |
Definition at line 1247 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 3432 of file jsregexp.cc.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1446 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 1458 of file jsregexp.h.
Referenced by LoopChoiceNode::Emit().
bool mentions_reg | ( | int | reg | ) |
Definition at line 1236 of file jsregexp.cc.
References v8::internal::NULL.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1463 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1456 of file jsregexp.h.
References Trace::FALSE, and Trace::TRUE.
Referenced by TextNode::Emit(), AssertionNode::Emit(), and ChoiceNode::Emit().
|
inline |
Definition at line 1476 of file jsregexp.h.
References Trace::backtrack().
Referenced by ActionNode::Emit(), and ChoiceNode::Emit().
|
inline |
Definition at line 1480 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1479 of file jsregexp.h.
Referenced by ChoiceNode::Emit().
|
inline |
Definition at line 1481 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 1482 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 1459 of file jsregexp.h.
Referenced by ChoiceNode::Emit(), LoopChoiceNode::Emit(), and RegExpNode::LimitVersions().