V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::RegExpMacroAssemblerX64 Class Reference
Inheritance diagram for v8::internal::RegExpMacroAssemblerX64:
v8::internal::NativeRegExpMacroAssembler v8::internal::RegExpMacroAssembler

Public Member Functions

 RegExpMacroAssemblerX64 (Isolate *isolate, Zone *zone, Mode mode, int registers_to_save)
 
int stack_limit_slack () override
 
void AdvanceCurrentPosition (int by) override
 
void AdvanceRegister (int reg, int by) override
 
void Backtrack () override
 
void Bind (Label *label) override
 
void CheckAtStart (Label *on_at_start) override
 
void CheckCharacter (uint32_t c, Label *on_equal) override
 
void CheckCharacterAfterAnd (uint32_t c, uint32_t mask, Label *on_equal) override
 
void CheckCharacterGT (uc16 limit, Label *on_greater) override
 
void CheckCharacterLT (uc16 limit, Label *on_less) override
 
void CheckGreedyLoop (Label *on_tos_equals_current_position) override
 
void CheckNotAtStart (int cp_offset, Label *on_not_at_start) override
 
void CheckNotBackReference (int start_reg, bool read_backward, Label *on_no_match) override
 
void CheckNotBackReferenceIgnoreCase (int start_reg, bool read_backward, bool unicode, Label *on_no_match) override
 
void CheckNotCharacter (uint32_t c, Label *on_not_equal) override
 
void CheckNotCharacterAfterAnd (uint32_t c, uint32_t mask, Label *on_not_equal) override
 
void CheckNotCharacterAfterMinusAnd (uc16 c, uc16 minus, uc16 mask, Label *on_not_equal) override
 
void CheckCharacterInRange (uc16 from, uc16 to, Label *on_in_range) override
 
void CheckCharacterNotInRange (uc16 from, uc16 to, Label *on_not_in_range) override
 
void CheckBitInTable (Handle< ByteArray > table, Label *on_bit_set) override
 
void CheckPosition (int cp_offset, Label *on_outside_input) override
 
bool CheckSpecialCharacterClass (uc16 type, Label *on_no_match) override
 
void Fail () override
 
Handle< HeapObjectGetCode (Handle< String > source) override
 
void GoTo (Label *label) override
 
void IfRegisterGE (int reg, int comparand, Label *if_ge) override
 
void IfRegisterLT (int reg, int comparand, Label *if_lt) override
 
void IfRegisterEqPos (int reg, Label *if_eq) override
 
IrregexpImplementation Implementation () override
 
void LoadCurrentCharacter (int cp_offset, Label *on_end_of_input, bool check_bounds=true, int characters=1) override
 
void PopCurrentPosition () override
 
void PopRegister (int register_index) override
 
void PushBacktrack (Label *label) override
 
void PushCurrentPosition () override
 
void PushRegister (int register_index, StackCheckFlag check_stack_limit) override
 
void ReadCurrentPositionFromRegister (int reg) override
 
void ReadStackPointerFromRegister (int reg) override
 
void SetCurrentPositionFromEnd (int by) override
 
void SetRegister (int register_index, int to) override
 
bool Succeed () override
 
void WriteCurrentPositionToRegister (int reg, int cp_offset) override
 
void ClearRegisters (int reg_from, int reg_to) override
 
void WriteStackPointerToRegister (int reg) override
 
- Public Member Functions inherited from v8::internal::NativeRegExpMacroAssembler
 NativeRegExpMacroAssembler (Isolate *isolate, Zone *zone)
 
bool CanReadUnaligned () override
 
- Public Member Functions inherited from v8::internal::RegExpMacroAssembler
 RegExpMacroAssembler (Isolate *isolate, Zone *zone)
 
virtual void AbortedCodeGeneration ()
 
virtual void CheckCharacter (unsigned c, Label *on_equal)=0
 
virtual void CheckCharacterAfterAnd (unsigned c, unsigned and_with, Label *on_equal)=0
 
virtual void CheckNotCharacter (unsigned c, Label *on_not_equal)=0
 
virtual void CheckNotCharacterAfterAnd (unsigned c, unsigned and_with, Label *on_not_equal)=0
 
void CheckNotInSurrogatePair (int cp_offset, Label *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 ()
 
Isolateisolate () const
 
Zonezone () const
 

Static Public Member Functions

static int CheckStackGuardState (Address *return_address, Address raw_code, Address re_frame)
 
- Static Public Member Functions inherited from v8::internal::NativeRegExpMacroAssembler
static Result Match (Handle< Code > regexp, Handle< String > subject, int *offsets_vector, int offsets_vector_length, int previous_index, Isolate *isolate)
 
static Address GrowStack (Address stack_pointer, Address *stack_top, Isolate *isolate)
 
static const byte * StringCharacterPosition (String subject, int start_index)
 
static int CheckStackGuardState (Isolate *isolate, int start_index, bool is_direct_call, Address *return_address, Code re_code, Address *subject, const byte **input_start, const byte **input_end)
 
static Address word_character_map_address ()
 
static Result Execute (Code code, String input, int start_offset, const byte *input_start, const byte *input_end, int *output, int output_size, Isolate *isolate)
 
- Static Public Member Functions inherited from v8::internal::RegExpMacroAssembler
static int CaseInsensitiveCompareUC16 (Address byte_offset1, Address byte_offset2, size_t byte_length, Isolate *isolate)
 

Additional Inherited Members

- Public Types inherited from v8::internal::NativeRegExpMacroAssembler
enum  Mode { LATIN1 = 1, UC16 = 2 }
 
enum  Result { RETRY = -2, EXCEPTION = -1, FAILURE = 0, SUCCESS = 1 }
 
- Public Types inherited from v8::internal::RegExpMacroAssembler
enum  IrregexpImplementation {
  kIA32Implementation, kARMImplementation, kARM64Implementation, kMIPSImplementation,
  kS390Implementation, kPPCImplementation, kX64Implementation, kX87Implementation,
  kBytecodeImplementation
}
 
enum  StackCheckFlag { kNoStackLimitCheck = false, kCheckStackLimit = true }
 
enum  GlobalMode { NOT_GLOBAL, GLOBAL_NO_ZERO_LENGTH_CHECK, GLOBAL, GLOBAL_UNICODE }
 
- Static Public Attributes inherited from v8::internal::NativeRegExpMacroAssembler
static const byte word_character_map [256]
 
- Static Public Attributes inherited from v8::internal::RegExpMacroAssembler
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
 

Detailed Description

Definition at line 18 of file regexp-macro-assembler-x64.h.


The documentation for this class was generated from the following file: