Flutter Engine
The Flutter Engine
|
#include <regexp_assembler.h>
Public Types | |
enum | { kParamRegExpIndex = 0 , kParamStringIndex , kParamStartOffsetIndex , kParamCount } |
enum | IrregexpImplementation { kBytecodeImplementation , kIRImplementation } |
enum | GlobalMode { NOT_GLOBAL , GLOBAL , GLOBAL_NO_ZERO_LENGTH_CHECK , GLOBAL_UNICODE } |
Public Member Functions | |
RegExpMacroAssembler (Zone *zone) | |
virtual | ~RegExpMacroAssembler () |
virtual intptr_t | stack_limit_slack ()=0 |
virtual bool | CanReadUnaligned ()=0 |
virtual void | AdvanceCurrentPosition (intptr_t by)=0 |
virtual void | AdvanceRegister (intptr_t reg, intptr_t by)=0 |
virtual void | Backtrack ()=0 |
virtual void | BindBlock (BlockLabel *label)=0 |
virtual void | CheckAtStart (BlockLabel *on_at_start)=0 |
virtual void | CheckCharacter (unsigned c, BlockLabel *on_equal)=0 |
virtual void | CheckCharacterAfterAnd (unsigned c, unsigned and_with, BlockLabel *on_equal)=0 |
virtual void | CheckCharacterGT (uint16_t limit, BlockLabel *on_greater)=0 |
virtual void | CheckCharacterLT (uint16_t limit, BlockLabel *on_less)=0 |
virtual void | CheckGreedyLoop (BlockLabel *on_tos_equals_current_position)=0 |
virtual void | CheckNotAtStart (intptr_t cp_offset, BlockLabel *on_not_at_start)=0 |
virtual void | CheckNotBackReference (intptr_t start_reg, bool read_backward, BlockLabel *on_no_match)=0 |
virtual void | CheckNotBackReferenceIgnoreCase (intptr_t start_reg, bool read_backward, bool unicode, BlockLabel *on_no_match)=0 |
virtual void | CheckNotCharacter (unsigned c, BlockLabel *on_not_equal)=0 |
virtual void | CheckNotCharacterAfterAnd (unsigned c, unsigned and_with, BlockLabel *on_not_equal)=0 |
virtual void | CheckNotCharacterAfterMinusAnd (uint16_t c, uint16_t minus, uint16_t and_with, BlockLabel *on_not_equal)=0 |
virtual void | CheckCharacterInRange (uint16_t from, uint16_t to, BlockLabel *on_in_range)=0 |
virtual void | CheckCharacterNotInRange (uint16_t from, uint16_t to, BlockLabel *on_not_in_range)=0 |
virtual void | CheckBitInTable (const TypedData &table, BlockLabel *on_bit_set)=0 |
virtual void | CheckPreemption (bool is_backtrack) |
virtual void | CheckPosition (intptr_t cp_offset, BlockLabel *on_outside_input) |
virtual bool | CheckSpecialCharacterClass (uint16_t type, BlockLabel *on_no_match) |
virtual void | Fail ()=0 |
virtual void | IfRegisterGE (intptr_t reg, intptr_t comparand, BlockLabel *if_ge)=0 |
virtual void | IfRegisterLT (intptr_t reg, intptr_t comparand, BlockLabel *if_lt)=0 |
virtual void | IfRegisterEqPos (intptr_t reg, BlockLabel *if_eq)=0 |
virtual IrregexpImplementation | Implementation ()=0 |
virtual bool | IsClosed () const =0 |
virtual void | GoTo (BlockLabel *to)=0 |
virtual void | LoadCurrentCharacter (intptr_t cp_offset, BlockLabel *on_end_of_input, bool check_bounds=true, intptr_t characters=1)=0 |
virtual void | PopCurrentPosition ()=0 |
virtual void | PopRegister (intptr_t register_index)=0 |
virtual void | Print (const char *str)=0 |
virtual void | PrintBlocks ()=0 |
virtual void | PushBacktrack (BlockLabel *label)=0 |
virtual void | PushCurrentPosition ()=0 |
virtual void | PushRegister (intptr_t register_index)=0 |
virtual void | ReadCurrentPositionFromRegister (intptr_t reg)=0 |
virtual void | ReadStackPointerFromRegister (intptr_t reg)=0 |
virtual void | SetCurrentPositionFromEnd (intptr_t by)=0 |
virtual void | SetRegister (intptr_t register_index, intptr_t to)=0 |
virtual bool | Succeed ()=0 |
virtual void | WriteCurrentPositionToRegister (intptr_t reg, intptr_t cp_offset)=0 |
virtual void | ClearRegisters (intptr_t reg_from, intptr_t reg_to)=0 |
virtual void | WriteStackPointerToRegister (intptr_t reg)=0 |
void | CheckNotInSurrogatePair (intptr_t cp_offset, BlockLabel *on_failure) |
void | set_slow_safe (bool ssc) |
bool | slow_safe () |
void | set_global_mode (GlobalMode mode) |
bool | global () |
bool | global_with_zero_length_check () |
bool | global_unicode () |
Zone * | zone () const |
Public Member Functions inherited from dart::ZoneAllocated | |
ZoneAllocated () | |
void * | operator new (size_t size) |
void * | operator new (size_t size, Zone *zone) |
void | operator delete (void *pointer) |
Static Public Attributes | |
static constexpr intptr_t | kMaxRegister = (1 << 16) - 1 |
static constexpr intptr_t | kMaxCPOffset = (1 << 15) - 1 |
static constexpr intptr_t | kMinCPOffset = -(1 << 15) |
static constexpr intptr_t | kTableSizeBits = 7 |
static constexpr intptr_t | kTableSize = 1 << kTableSizeBits |
static constexpr intptr_t | kTableMask = kTableSize - 1 |
Definition at line 96 of file regexp_assembler.h.
anonymous enum |
Enumerator | |
---|---|
kParamRegExpIndex | |
kParamStringIndex | |
kParamStartOffsetIndex | |
kParamCount |
Definition at line 107 of file regexp_assembler.h.
Enumerator | |
---|---|
NOT_GLOBAL | |
GLOBAL | |
GLOBAL_NO_ZERO_LENGTH_CHECK | |
GLOBAL_UNICODE |
Definition at line 244 of file regexp_assembler.h.
Enumerator | |
---|---|
kBytecodeImplementation | |
kIRImplementation |
Definition at line 114 of file regexp_assembler.h.
|
explicit |
Definition at line 110 of file regexp_assembler.cc.
|
virtual |
Definition at line 113 of file regexp_assembler.cc.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
void dart::RegExpMacroAssembler::CheckNotInSurrogatePair | ( | intptr_t | cp_offset, |
BlockLabel * | on_failure | ||
) |
Definition at line 115 of file regexp_assembler.cc.
|
inlinevirtual |
Reimplemented in dart::IRRegExpMacroAssembler.
Definition at line 181 of file regexp_assembler.h.
|
inlinevirtual |
Definition at line 177 of file regexp_assembler.h.
|
inlinevirtual |
Reimplemented in dart::IRRegExpMacroAssembler.
Definition at line 188 of file regexp_assembler.h.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
inline |
Definition at line 253 of file regexp_assembler.h.
|
inline |
Definition at line 257 of file regexp_assembler.h.
|
inline |
Definition at line 254 of file regexp_assembler.h.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::IRRegExpMacroAssembler, and dart::BytecodeRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::IRRegExpMacroAssembler, and dart::BytecodeRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::IRRegExpMacroAssembler, and dart::BytecodeRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
inline |
Definition at line 252 of file regexp_assembler.h.
|
inline |
Definition at line 241 of file regexp_assembler.h.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
inline |
Definition at line 242 of file regexp_assembler.h.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
pure virtual |
Implemented in dart::BytecodeRegExpMacroAssembler, and dart::IRRegExpMacroAssembler.
|
inline |
Definition at line 259 of file regexp_assembler.h.
|
staticconstexpr |
Definition at line 100 of file regexp_assembler.h.
|
staticconstexpr |
Definition at line 99 of file regexp_assembler.h.
|
staticconstexpr |
Definition at line 101 of file regexp_assembler.h.
|
staticconstexpr |
Definition at line 105 of file regexp_assembler.h.
|
staticconstexpr |
Definition at line 104 of file regexp_assembler.h.
|
staticconstexpr |
Definition at line 103 of file regexp_assembler.h.