V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::RegExpMacroAssembler Class Referenceabstract
Inheritance diagram for v8::internal::RegExpMacroAssembler:
v8::internal::NativeRegExpMacroAssembler v8::internal::RegExpMacroAssemblerTracer v8::internal::RegExpMacroAssemblerARM v8::internal::RegExpMacroAssemblerARM64 v8::internal::RegExpMacroAssemblerIA32 v8::internal::RegExpMacroAssemblerMIPS v8::internal::RegExpMacroAssemblerMIPS v8::internal::RegExpMacroAssemblerPPC v8::internal::RegExpMacroAssemblerS390 v8::internal::RegExpMacroAssemblerX64

Public Types

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 }
 

Public Member Functions

 RegExpMacroAssembler (Isolate *isolate, Zone *zone)
 
virtual void AbortedCodeGeneration ()
 
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 (int cp_offset, Label *on_not_at_start)=0
 
virtual void CheckNotBackReference (int start_reg, bool read_backward, Label *on_no_match)=0
 
virtual void CheckNotBackReferenceIgnoreCase (int start_reg, bool read_backward, bool unicode, 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< HeapObjectGetCode (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 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 CaseInsensitiveCompareUC16 (Address byte_offset1, Address byte_offset2, size_t byte_length, Isolate *isolate)
 

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
 

Detailed Description

Definition at line 27 of file regexp-macro-assembler.h.


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