V8 Project
|
#include <regexp-macro-assembler.h>
Public Types | |
enum | IrregexpImplementation { kIA32Implementation , kARMImplementation , kARM64Implementation , kMIPSImplementation , kX64Implementation , kX87Implementation , kBytecodeImplementation } |
enum | StackCheckFlag { kNoStackLimitCheck = false , kCheckStackLimit = true } |
enum | GlobalMode { NOT_GLOBAL , GLOBAL , GLOBAL_NO_ZERO_LENGTH_CHECK } |
Public Member Functions | |
RegExpMacroAssembler (Zone *zone) | |
virtual | ~RegExpMacroAssembler () |
virtual int | stack_limit_slack ()=0 |
virtual bool | CanReadUnaligned ()=0 |
virtual void | AdvanceCurrentPosition (int by)=0 |
virtual void | AdvanceRegister (int reg, int by)=0 |
virtual void | Backtrack ()=0 |
virtual void | Bind (Label *label)=0 |
virtual void | CheckAtStart (Label *on_at_start)=0 |
virtual void | CheckCharacter (unsigned c, Label *on_equal)=0 |
virtual void | CheckCharacterAfterAnd (unsigned c, unsigned and_with, Label *on_equal)=0 |
virtual void | CheckCharacterGT (uc16 limit, Label *on_greater)=0 |
virtual void | CheckCharacterLT (uc16 limit, Label *on_less)=0 |
virtual void | CheckGreedyLoop (Label *on_tos_equals_current_position)=0 |
virtual void | CheckNotAtStart (Label *on_not_at_start)=0 |
virtual void | CheckNotBackReference (int start_reg, Label *on_no_match)=0 |
virtual void | CheckNotBackReferenceIgnoreCase (int start_reg, Label *on_no_match)=0 |
virtual void | CheckNotCharacter (unsigned c, Label *on_not_equal)=0 |
virtual void | CheckNotCharacterAfterAnd (unsigned c, unsigned and_with, Label *on_not_equal)=0 |
virtual void | CheckNotCharacterAfterMinusAnd (uc16 c, uc16 minus, uc16 and_with, Label *on_not_equal)=0 |
virtual void | CheckCharacterInRange (uc16 from, uc16 to, Label *on_in_range)=0 |
virtual void | CheckCharacterNotInRange (uc16 from, uc16 to, Label *on_not_in_range)=0 |
virtual void | CheckBitInTable (Handle< ByteArray > table, Label *on_bit_set)=0 |
virtual void | CheckPosition (int cp_offset, Label *on_outside_input) |
virtual bool | CheckSpecialCharacterClass (uc16 type, Label *on_no_match) |
virtual void | Fail ()=0 |
virtual Handle< HeapObject > | GetCode (Handle< String > source)=0 |
virtual void | GoTo (Label *label)=0 |
virtual void | IfRegisterGE (int reg, int comparand, Label *if_ge)=0 |
virtual void | IfRegisterLT (int reg, int comparand, Label *if_lt)=0 |
virtual void | IfRegisterEqPos (int reg, Label *if_eq)=0 |
virtual IrregexpImplementation | Implementation ()=0 |
virtual void | LoadCurrentCharacter (int cp_offset, Label *on_end_of_input, bool check_bounds=true, int characters=1)=0 |
virtual void | PopCurrentPosition ()=0 |
virtual void | PopRegister (int register_index)=0 |
virtual void | PushBacktrack (Label *label)=0 |
virtual void | PushCurrentPosition ()=0 |
virtual void | PushRegister (int register_index, StackCheckFlag check_stack_limit)=0 |
virtual void | ReadCurrentPositionFromRegister (int reg)=0 |
virtual void | ReadStackPointerFromRegister (int reg)=0 |
virtual void | SetCurrentPositionFromEnd (int by)=0 |
virtual void | SetRegister (int register_index, int to)=0 |
virtual bool | Succeed ()=0 |
virtual void | WriteCurrentPositionToRegister (int reg, int cp_offset)=0 |
virtual void | ClearRegisters (int reg_from, int reg_to)=0 |
virtual void | WriteStackPointerToRegister (int reg)=0 |
void | set_slow_safe (bool ssc) |
bool | slow_safe () |
void | set_global_mode (GlobalMode mode) |
bool | global () |
bool | global_with_zero_length_check () |
Zone * | zone () const |
Static Public Attributes | |
static const int | kMaxRegister = (1 << 16) - 1 |
static const int | kMaxCPOffset = (1 << 15) - 1 |
static const int | kMinCPOffset = -(1 << 15) |
static const int | kTableSizeBits = 7 |
static const int | kTableSize = 1 << kTableSizeBits |
static const int | kTableMask = kTableSize - 1 |
Private Attributes | |
bool | slow_safe_compiler_ |
bool | global_mode_ |
Zone * | zone_ |
Definition at line 19 of file regexp-macro-assembler.h.
Enumerator | |
---|---|
NOT_GLOBAL | |
GLOBAL | |
GLOBAL_NO_ZERO_LENGTH_CHECK |
Definition at line 151 of file regexp-macro-assembler.h.
Enumerator | |
---|---|
kIA32Implementation | |
kARMImplementation | |
kARM64Implementation | |
kMIPSImplementation | |
kX64Implementation | |
kX87Implementation | |
kBytecodeImplementation |
Definition at line 30 of file regexp-macro-assembler.h.
Enumerator | |
---|---|
kNoStackLimitCheck | |
kCheckStackLimit |
Definition at line 40 of file regexp-macro-assembler.h.
|
explicit |
Definition at line 16 of file regexp-macro-assembler.cc.
|
virtual |
Definition at line 23 of file regexp-macro-assembler.cc.
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::AdvanceCurrentPosition(), v8::internal::LoopChoiceNode::Emit(), v8::internal::ChoiceNode::EmitGreedyLoop(), v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), and v8::internal::Trace::Flush().
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::AdvanceRegister(), and v8::internal::Trace::PerformDeferredActions().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::Backtrack(), v8::internal::ActionNode::Emit(), v8::internal::NegativeSubmatchSuccess::Emit(), and v8::internal::Trace::Flush().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpCompiler::Assemble(), v8::internal::AssertionNode::BacktrackIfPrevious(), v8::internal::RegExpMacroAssemblerTracer::Bind(), v8::internal::ActionNode::Emit(), v8::internal::AssertionNode::Emit(), v8::internal::EndNode::Emit(), v8::internal::NegativeSubmatchSuccess::Emit(), v8::internal::ChoiceNode::Emit(), v8::internal::EmitAtomLetter(), v8::internal::AssertionNode::EmitBoundaryCheck(), v8::internal::EmitCharClass(), v8::internal::ChoiceNode::EmitChoices(), v8::internal::ChoiceNode::EmitGreedyLoop(), v8::internal::EmitHat(), v8::internal::ChoiceNode::EmitOutOfLineContinuation(), v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), v8::internal::Trace::Flush(), v8::internal::GenerateBranches(), and v8::internal::RegExpNode::LimitVersions().
|
pure virtual |
Implemented in v8::internal::NativeRegExpMacroAssembler, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ChoiceNode::CalculatePreloadCharacters(), v8::internal::RegExpMacroAssemblerTracer::CanReadUnaligned(), and v8::internal::RegExpNode::EmitQuickCheck().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::AssertionNode::BacktrackIfPrevious(), v8::internal::RegExpMacroAssemblerTracer::CheckAtStart(), and v8::internal::EmitHat().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckBitInTable(), v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), and v8::internal::EmitUseLookupTable().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckCharacter(), v8::internal::EmitAtomLetter(), v8::internal::EmitDoubleBoundaryTest(), v8::internal::EmitHat(), v8::internal::RegExpNode::EmitQuickCheck(), v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), and v8::internal::EmitWordCheck().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerARM64, v8::internal::RegExpMacroAssemblerARM, and v8::internal::RegExpMacroAssemblerTracer.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckCharacterAfterAnd(), v8::internal::EmitHat(), v8::internal::RegExpNode::EmitQuickCheck(), and v8::internal::BoyerMooreLookahead::EmitSkipInstructions().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckCharacterGT(), v8::internal::EmitBoundaryTest(), v8::internal::EmitWordCheck(), and v8::internal::GenerateBranches().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckCharacterInRange(), and v8::internal::EmitDoubleBoundaryTest().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckCharacterLT(), v8::internal::EmitBoundaryTest(), v8::internal::EmitWordCheck(), and v8::internal::GenerateBranches().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckCharacterNotInRange(), and v8::internal::EmitDoubleBoundaryTest().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckGreedyLoop(), and v8::internal::ChoiceNode::EmitGreedyLoop().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckNotAtStart(), and v8::internal::AssertionNode::Emit().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckNotBackReference(), and v8::internal::BackReferenceNode::Emit().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckNotBackReferenceIgnoreCase(), and v8::internal::BackReferenceNode::Emit().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckNotCharacter(), v8::internal::EmitAtomLetter(), v8::internal::EmitAtomNonLetter(), v8::internal::EmitDoubleBoundaryTest(), v8::internal::EmitHat(), v8::internal::RegExpNode::EmitQuickCheck(), v8::internal::EmitSimpleCharacter(), and v8::internal::EmitWordCheck().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerARM64, v8::internal::RegExpMacroAssemblerARM, and v8::internal::RegExpMacroAssemblerTracer.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckNotCharacterAfterAnd(), v8::internal::RegExpNode::EmitQuickCheck(), and v8::internal::ShortCutEmitCharacterPair().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, v8::internal::RegExpMacroAssemblerARM, and v8::internal::RegExpMacroAssemblerTracer.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckNotCharacterAfterMinusAnd(), and v8::internal::ShortCutEmitCharacterPair().
|
inlinevirtual |
Reimplemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Definition at line 101 of file regexp-macro-assembler.h.
References LoadCurrentCharacter().
Referenced by v8::internal::AssertionNode::Emit(), and v8::internal::EmitCharClass().
|
inlinevirtual |
Reimplemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Definition at line 108 of file regexp-macro-assembler.h.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckSpecialCharacterClass(), v8::internal::EmitCharClass(), v8::internal::EmitHat(), and v8::internal::EmitWordCheck().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::ClearRegisters(), v8::internal::ActionNode::Emit(), v8::internal::NegativeSubmatchSuccess::Emit(), v8::internal::Trace::PerformDeferredActions(), and v8::internal::Trace::RestoreAffectedRegisters().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpCompiler::Assemble(), and v8::internal::RegExpMacroAssemblerTracer::Fail().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpCompiler::Assemble(), and v8::internal::RegExpMacroAssemblerTracer::GetCode().
|
inline |
|
inline |
Definition at line 156 of file regexp-macro-assembler.h.
References GLOBAL, and global_mode_.
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ActionNode::Emit(), v8::internal::AssertionNode::Emit(), v8::internal::EndNode::Emit(), v8::internal::LoopChoiceNode::Emit(), v8::internal::AssertionNode::EmitBoundaryCheck(), v8::internal::EmitBoundaryTest(), v8::internal::EmitCharClass(), v8::internal::ChoiceNode::EmitChoices(), v8::internal::EmitDoubleBoundaryTest(), v8::internal::ChoiceNode::EmitGreedyLoop(), v8::internal::ChoiceNode::EmitOutOfLineContinuation(), v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), v8::internal::EmitUseLookupTable(), v8::internal::Trace::Flush(), v8::internal::RegExpMacroAssemblerTracer::GoTo(), v8::internal::RegExpNode::LimitVersions(), and v8::internal::TextNode::TextEmitPass().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ActionNode::Emit(), and v8::internal::RegExpMacroAssemblerTracer::IfRegisterEqPos().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ChoiceNode::GenerateGuard(), and v8::internal::RegExpMacroAssemblerTracer::IfRegisterGE().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ActionNode::Emit(), v8::internal::ChoiceNode::GenerateGuard(), and v8::internal::RegExpMacroAssemblerTracer::IfRegisterLT().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::Implementation(), and v8::internal::RegExpMacroAssemblerTracer::RegExpMacroAssemblerTracer().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::AssertionNode::BacktrackIfPrevious(), CheckPosition(), v8::internal::EmitAtomLetter(), v8::internal::EmitAtomNonLetter(), v8::internal::AssertionNode::EmitBoundaryCheck(), v8::internal::EmitCharClass(), v8::internal::EmitHat(), v8::internal::ChoiceNode::EmitOutOfLineContinuation(), v8::internal::RegExpNode::EmitQuickCheck(), v8::internal::EmitSimpleCharacter(), v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), and v8::internal::RegExpMacroAssemblerTracer::LoadCurrentCharacter().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::Trace::Flush(), and v8::internal::RegExpMacroAssemblerTracer::PopCurrentPosition().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::PopRegister(), and v8::internal::Trace::RestoreAffectedRegisters().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpCompiler::Assemble(), v8::internal::Trace::Flush(), and v8::internal::RegExpMacroAssemblerTracer::PushBacktrack().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ChoiceNode::EmitGreedyLoop(), v8::internal::Trace::Flush(), and v8::internal::RegExpMacroAssemblerTracer::PushCurrentPosition().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::Trace::PerformDeferredActions(), and v8::internal::RegExpMacroAssemblerTracer::PushRegister().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ActionNode::Emit(), v8::internal::NegativeSubmatchSuccess::Emit(), and v8::internal::RegExpMacroAssemblerTracer::ReadCurrentPositionFromRegister().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ActionNode::Emit(), v8::internal::NegativeSubmatchSuccess::Emit(), and v8::internal::RegExpMacroAssemblerTracer::ReadStackPointerFromRegister().
|
inline |
Definition at line 154 of file regexp-macro-assembler.h.
References global_mode_, and mode().
Referenced by v8::internal::RegExpEngine::Compile().
|
inline |
Definition at line 148 of file regexp-macro-assembler.h.
References slow_safe_compiler_.
Referenced by v8::internal::RegExpCompiler::Assemble().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::RegExpMacroAssemblerTracer::SetCurrentPositionFromEnd().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::Trace::PerformDeferredActions(), and v8::internal::RegExpMacroAssemblerTracer::SetRegister().
|
inline |
Definition at line 149 of file regexp-macro-assembler.h.
References slow_safe_compiler_.
Referenced by v8::internal::NativeRegExpMacroAssembler::CanReadUnaligned().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::Trace::PerformDeferredActions(), and v8::internal::RegExpMacroAssemblerTracer::stack_limit_slack().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::EndNode::Emit(), and v8::internal::RegExpMacroAssemblerTracer::Succeed().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ActionNode::Emit(), v8::internal::Trace::PerformDeferredActions(), and v8::internal::RegExpMacroAssemblerTracer::WriteCurrentPositionToRegister().
|
pure virtual |
Implemented in v8::internal::RegExpMacroAssemblerX87, v8::internal::RegExpMacroAssemblerX64, v8::internal::RegExpMacroAssemblerTracer, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerMIPS, v8::internal::RegExpMacroAssemblerIA32, v8::internal::RegExpMacroAssemblerARM64, and v8::internal::RegExpMacroAssemblerARM.
Referenced by v8::internal::ActionNode::Emit(), and v8::internal::RegExpMacroAssemblerTracer::WriteStackPointerToRegister().
|
inline |
Definition at line 160 of file regexp-macro-assembler.h.
References zone_.
Referenced by v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), v8::internal::EmitUseLookupTable(), v8::internal::TextNode::GetQuickCheckDetails(), v8::internal::RegExpMacroAssemblerX64::MarkPositionForCodeRelativeFixup(), and v8::internal::TextNode::TextEmitPass().
|
private |
Definition at line 164 of file regexp-macro-assembler.h.
Referenced by global(), global_with_zero_length_check(), and set_global_mode().
|
static |
Definition at line 23 of file regexp-macro-assembler.h.
Referenced by v8::internal::Trace::AdvanceCurrentPositionInTrace(), and v8::internal::TextNode::Emit().
|
static |
Definition at line 22 of file regexp-macro-assembler.h.
Referenced by v8::internal::RegExpCompiler::AllocateRegister(), v8::internal::RegExpEngine::Compile(), and v8::internal::RegExpCompiler::RegExpCompiler().
|
static |
Definition at line 24 of file regexp-macro-assembler.h.
|
static |
Definition at line 28 of file regexp-macro-assembler.h.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckBitInTable(), v8::internal::FrequencyCollator::CountCharacter(), v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), v8::internal::EmitUseLookupTable(), v8::internal::FrequencyCollator::Frequency(), v8::internal::RawMatch(), and v8::internal::SplitSearchSpace().
|
static |
Definition at line 27 of file regexp-macro-assembler.h.
Referenced by v8::internal::RegExpMacroAssemblerTracer::CheckBitInTable(), v8::internal::BoyerMooreLookahead::EmitSkipInstructions(), v8::internal::EmitUseLookupTable(), v8::internal::BoyerMooreLookahead::FindBestInterval(), v8::internal::FrequencyCollator::FrequencyCollator(), v8::internal::BoyerMooreLookahead::GetSkipTable(), and v8::internal::SplitSearchSpace().
|
static |
Definition at line 26 of file regexp-macro-assembler.h.
Referenced by v8::internal::GenerateBranches().
|
private |
Definition at line 163 of file regexp-macro-assembler.h.
Referenced by set_slow_safe(), and slow_safe().
|
private |
Definition at line 165 of file regexp-macro-assembler.h.
Referenced by zone().