Flutter Engine
The Flutter Engine
|
#include <regexp_assembler_bytecode.h>
Public Member Functions | |
BytecodeRegExpMacroAssembler (ZoneGrowableArray< uint8_t > *buffer, Zone *zone) | |
virtual | ~BytecodeRegExpMacroAssembler () |
virtual intptr_t | stack_limit_slack () |
virtual bool | CanReadUnaligned () |
virtual void | BindBlock (BlockLabel *label) |
virtual void | AdvanceCurrentPosition (intptr_t by) |
virtual void | PopCurrentPosition () |
virtual void | PushCurrentPosition () |
virtual void | Backtrack () |
virtual void | GoTo (BlockLabel *label) |
virtual void | PushBacktrack (BlockLabel *label) |
virtual bool | Succeed () |
virtual void | Fail () |
virtual void | PopRegister (intptr_t register_index) |
virtual void | PushRegister (intptr_t register_index) |
virtual void | AdvanceRegister (intptr_t reg, intptr_t by) |
virtual void | SetCurrentPositionFromEnd (intptr_t by) |
virtual void | SetRegister (intptr_t register_index, intptr_t to) |
virtual void | WriteCurrentPositionToRegister (intptr_t reg, intptr_t cp_offset) |
virtual void | ClearRegisters (intptr_t reg_from, intptr_t reg_to) |
virtual void | ReadCurrentPositionFromRegister (intptr_t reg) |
virtual void | WriteStackPointerToRegister (intptr_t reg) |
virtual void | ReadStackPointerFromRegister (intptr_t reg) |
virtual void | LoadCurrentCharacter (intptr_t cp_offset, BlockLabel *on_end_of_input, bool check_bounds=true, intptr_t characters=1) |
virtual void | CheckCharacter (unsigned c, BlockLabel *on_equal) |
virtual void | CheckCharacterAfterAnd (unsigned c, unsigned mask, BlockLabel *on_equal) |
virtual void | CheckCharacterGT (uint16_t limit, BlockLabel *on_greater) |
virtual void | CheckCharacterLT (uint16_t limit, BlockLabel *on_less) |
virtual void | CheckGreedyLoop (BlockLabel *on_tos_equals_current_position) |
virtual void | CheckAtStart (BlockLabel *on_at_start) |
virtual void | CheckNotAtStart (intptr_t cp_offset, BlockLabel *on_not_at_start) |
virtual void | CheckNotCharacter (unsigned c, BlockLabel *on_not_equal) |
virtual void | CheckNotCharacterAfterAnd (unsigned c, unsigned mask, BlockLabel *on_not_equal) |
virtual void | CheckNotCharacterAfterMinusAnd (uint16_t c, uint16_t minus, uint16_t mask, BlockLabel *on_not_equal) |
virtual void | CheckCharacterInRange (uint16_t from, uint16_t to, BlockLabel *on_in_range) |
virtual void | CheckCharacterNotInRange (uint16_t from, uint16_t to, BlockLabel *on_not_in_range) |
virtual void | CheckBitInTable (const TypedData &table, BlockLabel *on_bit_set) |
virtual void | CheckNotBackReference (intptr_t start_reg, bool read_backward, BlockLabel *on_no_match) |
virtual void | CheckNotBackReferenceIgnoreCase (intptr_t start_reg, bool read_backward, bool unicode, BlockLabel *on_no_match) |
virtual void | IfRegisterLT (intptr_t register_index, intptr_t comparand, BlockLabel *if_lt) |
virtual void | IfRegisterGE (intptr_t register_index, intptr_t comparand, BlockLabel *if_ge) |
virtual void | IfRegisterEqPos (intptr_t register_index, BlockLabel *if_eq) |
virtual IrregexpImplementation | Implementation () |
TypedDataPtr | GetBytecode () |
virtual bool | IsClosed () const |
virtual void | Print (const char *str) |
virtual void | PrintBlocks () |
Public Member Functions inherited from dart::RegExpMacroAssembler | |
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 Member Functions | |
static ObjectPtr | Interpret (const RegExp ®exp, const String &str, const Smi &start_index, bool is_sticky, Zone *zone) |
Additional Inherited Members | |
Public Types inherited from dart::RegExpMacroAssembler | |
enum | { kParamRegExpIndex = 0 , kParamStringIndex , kParamStartOffsetIndex , kParamCount } |
enum | IrregexpImplementation { kBytecodeImplementation , kIRImplementation } |
enum | GlobalMode { NOT_GLOBAL , GLOBAL , GLOBAL_NO_ZERO_LENGTH_CHECK , GLOBAL_UNICODE } |
Static Public Attributes inherited from dart::RegExpMacroAssembler | |
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 13 of file regexp_assembler_bytecode.h.
dart::BytecodeRegExpMacroAssembler::BytecodeRegExpMacroAssembler | ( | ZoneGrowableArray< uint8_t > * | buffer, |
Zone * | zone | ||
) |
Definition at line 19 of file regexp_assembler_bytecode.cc.
|
virtual |
Definition at line 27 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 175 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 127 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 143 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 36 of file regexp_assembler_bytecode.cc.
|
inlinevirtual |
Implements dart::RegExpMacroAssembler.
Definition at line 33 of file regexp_assembler_bytecode.h.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 243 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 325 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 232 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 266 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 226 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 305 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 220 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 315 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 184 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 248 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 338 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 349 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 255 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 280 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 294 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 85 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 171 of file regexp_assembler_bytecode.cc.
TypedDataPtr dart::BytecodeRegExpMacroAssembler::GetBytecode | ( | ) |
Definition at line 393 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 147 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 385 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 374 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 364 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 32 of file regexp_assembler_bytecode.cc.
|
static |
Definition at line 509 of file regexp_assembler_bytecode.cc.
|
inlinevirtual |
Implements dart::RegExpMacroAssembler.
Definition at line 101 of file regexp_assembler_bytecode.h.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 190 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 135 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 64 of file regexp_assembler_bytecode.cc.
|
inlinevirtual |
Implements dart::RegExpMacroAssembler.
Definition at line 106 of file regexp_assembler_bytecode.h.
|
inlinevirtual |
Implements dart::RegExpMacroAssembler.
Definition at line 107 of file regexp_assembler_bytecode.h.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 161 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 139 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 70 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 93 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 107 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 114 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 119 of file regexp_assembler_bytecode.cc.
|
inlinevirtual |
Implements dart::RegExpMacroAssembler.
Definition at line 32 of file regexp_assembler_bytecode.h.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 166 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 76 of file regexp_assembler_bytecode.cc.
|
virtual |
Implements dart::RegExpMacroAssembler.
Definition at line 100 of file regexp_assembler_bytecode.cc.