V8 Project
v8::internal::RegExpMacroAssemblerMIPS Class Reference

#include <regexp-macro-assembler-mips.h>

+ Inheritance diagram for v8::internal::RegExpMacroAssemblerMIPS:
+ Collaboration diagram for v8::internal::RegExpMacroAssemblerMIPS:

Public Member Functions

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

Static Public Member Functions

static int CheckStackGuardState (Address *return_address, Code *re_code, Address re_frame)
 
static int CheckStackGuardState (Address *return_address, Code *re_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 int CaseInsensitiveCompareUC16 (Address byte_offset1, Address byte_offset2, size_t byte_length, Isolate *isolate)
 
static Address GrowStack (Address stack_pointer, Address *stack_top, Isolate *isolate)
 
static const byteStringCharacterPosition (String *subject, int start_index)
 
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)
 

Private Member Functions

void LoadCurrentCharacterUnchecked (int cp_offset, int character_count)
 
void CheckPreemption ()
 
void CheckStackLimit ()
 
void CallCheckStackGuardState (Register scratch)
 
MemOperand register_location (int register_index)
 
Register current_input_offset ()
 
Register current_character ()
 
Register end_of_input_address ()
 
Register frame_pointer ()
 
Register backtrack_stackpointer ()
 
Register code_pointer ()
 
int char_size ()
 
void BranchOrBacktrack (Label *to, Condition condition, Register rs, const Operand &rt)
 
void SafeCall (Label *to, Condition cond, Register rs, const Operand &rt)
 
void SafeReturn ()
 
void SafeCallTarget (Label *name)
 
void Push (Register source)
 
void Pop (Register target)
 
Isolateisolate () const
 
void LoadCurrentCharacterUnchecked (int cp_offset, int character_count)
 
void CheckPreemption ()
 
void CheckStackLimit ()
 
void CallCheckStackGuardState (Register scratch)
 
MemOperand register_location (int register_index)
 
Register current_input_offset ()
 
Register current_character ()
 
Register end_of_input_address ()
 
Register frame_pointer ()
 
Register backtrack_stackpointer ()
 
Register code_pointer ()
 
int char_size ()
 
void BranchOrBacktrack (Label *to, Condition condition, Register rs, const Operand &rt)
 
void SafeCall (Label *to, Condition cond, Register rs, const Operand &rt)
 
void SafeReturn ()
 
void SafeCallTarget (Label *name)
 
void Push (Register source)
 
void Pop (Register target)
 
Isolateisolate () const
 

Private Attributes

MacroAssemblermasm_
 
Mode mode_
 
int num_registers_
 
int num_saved_registers_
 
Label entry_label_
 
Label start_label_
 
Label success_label_
 
Label backtrack_label_
 
Label exit_label_
 
Label check_preempt_label_
 
Label stack_overflow_label_
 
Label internal_failure_label_
 

Static Private Attributes

static const int kFramePointer = 0
 
static const int kStoredRegisters = kFramePointer
 
static const int kReturnAddress = kStoredRegisters + 9 * kPointerSize
 
static const int kSecondaryReturnAddress = kReturnAddress + kPointerSize
 
static const int kStackFrameHeader = kReturnAddress + kPointerSize
 
static const int kRegisterOutput = kStackFrameHeader + 20
 
static const int kNumOutputRegisters = kRegisterOutput + kPointerSize
 
static const int kStackHighEnd = kNumOutputRegisters + kPointerSize
 
static const int kDirectCall = kStackHighEnd + kPointerSize
 
static const int kIsolate = kDirectCall + kPointerSize
 
static const int kInputEnd = kFramePointer - kPointerSize
 
static const int kInputStart = kInputEnd - kPointerSize
 
static const int kStartIndex = kInputStart - kPointerSize
 
static const int kInputString = kStartIndex - kPointerSize
 
static const int kSuccessfulCaptures = kInputString - kPointerSize
 
static const int kInputStartMinusOne = kSuccessfulCaptures - kPointerSize
 
static const int kRegisterZero = kInputStartMinusOne - kPointerSize
 
static const size_t kRegExpCodeSize = 1024
 

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 ,
  kX64Implementation , kX87Implementation , kBytecodeImplementation
}
 
enum  StackCheckFlag { kNoStackLimitCheck = false , kCheckStackLimit = true }
 
enum  GlobalMode { NOT_GLOBAL , GLOBAL , GLOBAL_NO_ZERO_LENGTH_CHECK }
 
- 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-mips.h.

Constructor & Destructor Documentation

◆ RegExpMacroAssemblerMIPS() [1/2]

v8::internal::RegExpMacroAssemblerMIPS::RegExpMacroAssemblerMIPS ( Mode  mode,
int  registers_to_save,
Zone zone 
)

◆ ~RegExpMacroAssemblerMIPS() [1/2]

virtual v8::internal::RegExpMacroAssemblerMIPS::~RegExpMacroAssemblerMIPS ( )
virtual

◆ RegExpMacroAssemblerMIPS() [2/2]

v8::internal::RegExpMacroAssemblerMIPS::RegExpMacroAssemblerMIPS ( Mode  mode,
int  registers_to_save,
Zone zone 
)

◆ ~RegExpMacroAssemblerMIPS() [2/2]

virtual v8::internal::RegExpMacroAssemblerMIPS::~RegExpMacroAssemblerMIPS ( )
virtual

Member Function Documentation

◆ AdvanceCurrentPosition() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::AdvanceCurrentPosition ( int  by)
virtual

◆ AdvanceCurrentPosition() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::AdvanceCurrentPosition ( int  by)
virtual

◆ AdvanceRegister() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::AdvanceRegister ( int  reg,
int  by 
)
virtual

◆ AdvanceRegister() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::AdvanceRegister ( int  reg,
int  by 
)
virtual

◆ Backtrack() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::Backtrack ( )
virtual

◆ Backtrack() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::Backtrack ( )
virtual

◆ backtrack_stackpointer() [1/2]

Register v8::internal::RegExpMacroAssemblerMIPS::backtrack_stackpointer ( )
inlineprivate

Definition at line 164 of file regexp-macro-assembler-mips.h.

164 { return t4; }

◆ backtrack_stackpointer() [2/2]

Register v8::internal::RegExpMacroAssemblerMIPS::backtrack_stackpointer ( )
inlineprivate

Definition at line 207 of file regexp-macro-assembler-mips64.h.

207 { return t0; }

◆ Bind() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::Bind ( Label *  label)
virtual

◆ Bind() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::Bind ( Label *  label)
virtual

◆ BranchOrBacktrack() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::BranchOrBacktrack ( Label *  to,
Condition  condition,
Register  rs,
const Operand rt 
)
private

◆ BranchOrBacktrack() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::BranchOrBacktrack ( Label *  to,
Condition  condition,
Register  rs,
const Operand rt 
)
private

◆ CallCheckStackGuardState() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::CallCheckStackGuardState ( Register  scratch)
private

◆ CallCheckStackGuardState() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::CallCheckStackGuardState ( Register  scratch)
private

◆ CanReadUnaligned() [1/2]

virtual bool v8::internal::RegExpMacroAssemblerMIPS::CanReadUnaligned ( )
virtual

◆ CanReadUnaligned() [2/2]

virtual bool v8::internal::RegExpMacroAssemblerMIPS::CanReadUnaligned ( )
virtual

◆ char_size() [1/2]

int v8::internal::RegExpMacroAssemblerMIPS::char_size ( )
inlineprivate

Definition at line 170 of file regexp-macro-assembler-mips.h.

170 { return static_cast<int>(mode_); }

References mode_.

◆ char_size() [2/2]

int v8::internal::RegExpMacroAssemblerMIPS::char_size ( )
inlineprivate

Definition at line 213 of file regexp-macro-assembler-mips64.h.

213 { return static_cast<int>(mode_); }

References mode_.

◆ CheckAtStart() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckAtStart ( Label *  on_at_start)
virtual

◆ CheckAtStart() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckAtStart ( Label *  on_at_start)
virtual

◆ CheckBitInTable() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckBitInTable ( Handle< ByteArray table,
Label *  on_bit_set 
)
virtual

◆ CheckBitInTable() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckBitInTable ( Handle< ByteArray table,
Label *  on_bit_set 
)
virtual

◆ CheckCharacter() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacter ( uint32_t  c,
Label *  on_equal 
)
virtual

◆ CheckCharacter() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacter ( uint32_t  c,
Label *  on_equal 
)
virtual

◆ CheckCharacterAfterAnd() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterAfterAnd ( uint32_t  c,
uint32_t  mask,
Label *  on_equal 
)
virtual

◆ CheckCharacterAfterAnd() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterAfterAnd ( uint32_t  c,
uint32_t  mask,
Label *  on_equal 
)
virtual

◆ CheckCharacterGT() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterGT ( uc16  limit,
Label *  on_greater 
)
virtual

◆ CheckCharacterGT() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterGT ( uc16  limit,
Label *  on_greater 
)
virtual

◆ CheckCharacterInRange() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterInRange ( uc16  from,
uc16  to,
Label *  on_in_range 
)
virtual

◆ CheckCharacterInRange() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterInRange ( uc16  from,
uc16  to,
Label *  on_in_range 
)
virtual

◆ CheckCharacterLT() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterLT ( uc16  limit,
Label *  on_less 
)
virtual

◆ CheckCharacterLT() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterLT ( uc16  limit,
Label *  on_less 
)
virtual

◆ CheckCharacterNotInRange() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterNotInRange ( uc16  from,
uc16  to,
Label *  on_not_in_range 
)
virtual

◆ CheckCharacterNotInRange() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterNotInRange ( uc16  from,
uc16  to,
Label *  on_not_in_range 
)
virtual

◆ CheckGreedyLoop() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckGreedyLoop ( Label *  on_tos_equals_current_position)
virtual

◆ CheckGreedyLoop() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckGreedyLoop ( Label *  on_tos_equals_current_position)
virtual

◆ CheckNotAtStart() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotAtStart ( Label *  on_not_at_start)
virtual

◆ CheckNotAtStart() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotAtStart ( Label *  on_not_at_start)
virtual

◆ CheckNotBackReference() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotBackReference ( int  start_reg,
Label *  on_no_match 
)
virtual

◆ CheckNotBackReference() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotBackReference ( int  start_reg,
Label *  on_no_match 
)
virtual

◆ CheckNotBackReferenceIgnoreCase() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase ( int  start_reg,
Label *  on_no_match 
)
virtual

◆ CheckNotBackReferenceIgnoreCase() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase ( int  start_reg,
Label *  on_no_match 
)
virtual

◆ CheckNotCharacter() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotCharacter ( uint32_t  c,
Label *  on_not_equal 
)
virtual

◆ CheckNotCharacter() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotCharacter ( uint32_t  c,
Label *  on_not_equal 
)
virtual

◆ CheckNotCharacterAfterAnd() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotCharacterAfterAnd ( uint32_t  c,
uint32_t  mask,
Label *  on_not_equal 
)
virtual

◆ CheckNotCharacterAfterAnd() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotCharacterAfterAnd ( uint32_t  c,
uint32_t  mask,
Label *  on_not_equal 
)
virtual

◆ CheckNotCharacterAfterMinusAnd() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotCharacterAfterMinusAnd ( uc16  c,
uc16  minus,
uc16  mask,
Label *  on_not_equal 
)
virtual

◆ CheckNotCharacterAfterMinusAnd() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckNotCharacterAfterMinusAnd ( uc16  c,
uc16  minus,
uc16  mask,
Label *  on_not_equal 
)
virtual

◆ CheckPosition() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckPosition ( int  cp_offset,
Label *  on_outside_input 
)
virtual

◆ CheckPosition() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::CheckPosition ( int  cp_offset,
Label *  on_outside_input 
)
virtual

◆ CheckPreemption() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::CheckPreemption ( )
private

◆ CheckPreemption() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::CheckPreemption ( )
private

◆ CheckSpecialCharacterClass() [1/2]

virtual bool v8::internal::RegExpMacroAssemblerMIPS::CheckSpecialCharacterClass ( uc16  type,
Label *  on_no_match 
)
virtual

◆ CheckSpecialCharacterClass() [2/2]

virtual bool v8::internal::RegExpMacroAssemblerMIPS::CheckSpecialCharacterClass ( uc16  type,
Label *  on_no_match 
)
virtual

◆ CheckStackGuardState() [1/2]

static int v8::internal::RegExpMacroAssemblerMIPS::CheckStackGuardState ( Address return_address,
Code re_code,
Address  re_frame 
)
static

◆ CheckStackGuardState() [2/2]

static int v8::internal::RegExpMacroAssemblerMIPS::CheckStackGuardState ( Address return_address,
Code re_code,
Address  re_frame 
)
static

◆ CheckStackLimit() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::CheckStackLimit ( )
private

◆ CheckStackLimit() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::CheckStackLimit ( )
private

◆ ClearRegisters() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::ClearRegisters ( int  reg_from,
int  reg_to 
)
virtual

◆ ClearRegisters() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::ClearRegisters ( int  reg_from,
int  reg_to 
)
virtual

◆ code_pointer() [1/2]

Register v8::internal::RegExpMacroAssemblerMIPS::code_pointer ( )
inlineprivate

Definition at line 167 of file regexp-macro-assembler-mips.h.

167 { return t1; }

◆ code_pointer() [2/2]

Register v8::internal::RegExpMacroAssemblerMIPS::code_pointer ( )
inlineprivate

Definition at line 210 of file regexp-macro-assembler-mips64.h.

210 { return a5; }

◆ current_character() [1/2]

Register v8::internal::RegExpMacroAssemblerMIPS::current_character ( )
inlineprivate

Definition at line 153 of file regexp-macro-assembler-mips.h.

153 { return t3; }

◆ current_character() [2/2]

Register v8::internal::RegExpMacroAssemblerMIPS::current_character ( )
inlineprivate

Definition at line 196 of file regexp-macro-assembler-mips64.h.

196 { return a7; }

◆ current_input_offset() [1/2]

Register v8::internal::RegExpMacroAssemblerMIPS::current_input_offset ( )
inlineprivate

Definition at line 150 of file regexp-macro-assembler-mips.h.

150 { return t2; }

◆ current_input_offset() [2/2]

Register v8::internal::RegExpMacroAssemblerMIPS::current_input_offset ( )
inlineprivate

Definition at line 193 of file regexp-macro-assembler-mips64.h.

193 { return a6; }

◆ end_of_input_address() [1/2]

Register v8::internal::RegExpMacroAssemblerMIPS::end_of_input_address ( )
inlineprivate

Definition at line 156 of file regexp-macro-assembler-mips.h.

156 { return t6; }

◆ end_of_input_address() [2/2]

Register v8::internal::RegExpMacroAssemblerMIPS::end_of_input_address ( )
inlineprivate

Definition at line 199 of file regexp-macro-assembler-mips64.h.

199 { return t2; }

◆ Fail() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::Fail ( )
virtual

◆ Fail() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::Fail ( )
virtual

◆ frame_pointer() [1/2]

Register v8::internal::RegExpMacroAssemblerMIPS::frame_pointer ( )
inlineprivate

Definition at line 160 of file regexp-macro-assembler-mips.h.

160 { return fp; }
const Register fp

References v8::internal::fp.

◆ frame_pointer() [2/2]

Register v8::internal::RegExpMacroAssemblerMIPS::frame_pointer ( )
inlineprivate

Definition at line 203 of file regexp-macro-assembler-mips64.h.

203 { return fp; }

References v8::internal::fp.

◆ GetCode() [1/2]

virtual Handle<HeapObject> v8::internal::RegExpMacroAssemblerMIPS::GetCode ( Handle< String source)
virtual

◆ GetCode() [2/2]

virtual Handle<HeapObject> v8::internal::RegExpMacroAssemblerMIPS::GetCode ( Handle< String source)
virtual

◆ GoTo() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::GoTo ( Label *  label)
virtual

◆ GoTo() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::GoTo ( Label *  label)
virtual

◆ IfRegisterEqPos() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::IfRegisterEqPos ( int  reg,
Label *  if_eq 
)
virtual

◆ IfRegisterEqPos() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::IfRegisterEqPos ( int  reg,
Label *  if_eq 
)
virtual

◆ IfRegisterGE() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::IfRegisterGE ( int  reg,
int  comparand,
Label *  if_ge 
)
virtual

◆ IfRegisterGE() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::IfRegisterGE ( int  reg,
int  comparand,
Label *  if_ge 
)
virtual

◆ IfRegisterLT() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::IfRegisterLT ( int  reg,
int  comparand,
Label *  if_lt 
)
virtual

◆ IfRegisterLT() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::IfRegisterLT ( int  reg,
int  comparand,
Label *  if_lt 
)
virtual

◆ Implementation() [1/2]

virtual IrregexpImplementation v8::internal::RegExpMacroAssemblerMIPS::Implementation ( )
virtual

◆ Implementation() [2/2]

virtual IrregexpImplementation v8::internal::RegExpMacroAssemblerMIPS::Implementation ( )
virtual

◆ isolate() [1/2]

Isolate* v8::internal::RegExpMacroAssemblerMIPS::isolate ( ) const
inlineprivate

Definition at line 196 of file regexp-macro-assembler-mips.h.

196 { return masm_->isolate(); }
Isolate * isolate() const
Definition: assembler.h:62

References v8::internal::AssemblerBase::isolate(), and masm_.

+ Here is the call graph for this function:

◆ isolate() [2/2]

Isolate* v8::internal::RegExpMacroAssemblerMIPS::isolate ( ) const
inlineprivate

Definition at line 239 of file regexp-macro-assembler-mips64.h.

239 { return masm_->isolate(); }

References v8::internal::AssemblerBase::isolate(), and masm_.

+ Here is the call graph for this function:

◆ LoadCurrentCharacter() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::LoadCurrentCharacter ( int  cp_offset,
Label *  on_end_of_input,
bool  check_bounds = true,
int  characters = 1 
)
virtual

◆ LoadCurrentCharacter() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::LoadCurrentCharacter ( int  cp_offset,
Label *  on_end_of_input,
bool  check_bounds = true,
int  characters = 1 
)
virtual

◆ LoadCurrentCharacterUnchecked() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::LoadCurrentCharacterUnchecked ( int  cp_offset,
int  character_count 
)
private

◆ LoadCurrentCharacterUnchecked() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::LoadCurrentCharacterUnchecked ( int  cp_offset,
int  character_count 
)
private

◆ Pop() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::Pop ( Register  target)
inlineprivate

◆ Pop() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::Pop ( Register  target)
inlineprivate

◆ PopCurrentPosition() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PopCurrentPosition ( )
virtual

◆ PopCurrentPosition() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PopCurrentPosition ( )
virtual

◆ PopRegister() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PopRegister ( int  register_index)
virtual

◆ PopRegister() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PopRegister ( int  register_index)
virtual

◆ print_regexp_frame_constants()

void v8::internal::RegExpMacroAssemblerMIPS::print_regexp_frame_constants ( )

◆ Push() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::Push ( Register  source)
inlineprivate

◆ Push() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::Push ( Register  source)
inlineprivate

◆ PushBacktrack() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PushBacktrack ( Label *  label)
virtual

◆ PushBacktrack() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PushBacktrack ( Label *  label)
virtual

◆ PushCurrentPosition() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PushCurrentPosition ( )
virtual

◆ PushCurrentPosition() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PushCurrentPosition ( )
virtual

◆ PushRegister() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PushRegister ( int  register_index,
StackCheckFlag  check_stack_limit 
)
virtual

◆ PushRegister() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::PushRegister ( int  register_index,
StackCheckFlag  check_stack_limit 
)
virtual

◆ ReadCurrentPositionFromRegister() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::ReadCurrentPositionFromRegister ( int  reg)
virtual

◆ ReadCurrentPositionFromRegister() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::ReadCurrentPositionFromRegister ( int  reg)
virtual

◆ ReadStackPointerFromRegister() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::ReadStackPointerFromRegister ( int  reg)
virtual

◆ ReadStackPointerFromRegister() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::ReadStackPointerFromRegister ( int  reg)
virtual

◆ register_location() [1/2]

MemOperand v8::internal::RegExpMacroAssemblerMIPS::register_location ( int  register_index)
private

◆ register_location() [2/2]

MemOperand v8::internal::RegExpMacroAssemblerMIPS::register_location ( int  register_index)
private

◆ SafeCall() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::SafeCall ( Label *  to,
Condition  cond,
Register  rs,
const Operand rt 
)
inlineprivate

◆ SafeCall() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::SafeCall ( Label *  to,
Condition  cond,
Register  rs,
const Operand rt 
)
inlineprivate

◆ SafeCallTarget() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::SafeCallTarget ( Label *  name)
inlineprivate

◆ SafeCallTarget() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::SafeCallTarget ( Label *  name)
inlineprivate

◆ SafeReturn() [1/2]

void v8::internal::RegExpMacroAssemblerMIPS::SafeReturn ( )
inlineprivate

◆ SafeReturn() [2/2]

void v8::internal::RegExpMacroAssemblerMIPS::SafeReturn ( )
inlineprivate

◆ SetCurrentPositionFromEnd() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::SetCurrentPositionFromEnd ( int  by)
virtual

◆ SetCurrentPositionFromEnd() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::SetCurrentPositionFromEnd ( int  by)
virtual

◆ SetRegister() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::SetRegister ( int  register_index,
int  to 
)
virtual

◆ SetRegister() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::SetRegister ( int  register_index,
int  to 
)
virtual

◆ stack_limit_slack() [1/2]

virtual int v8::internal::RegExpMacroAssemblerMIPS::stack_limit_slack ( )
virtual

◆ stack_limit_slack() [2/2]

virtual int v8::internal::RegExpMacroAssemblerMIPS::stack_limit_slack ( )
virtual

◆ Succeed() [1/2]

virtual bool v8::internal::RegExpMacroAssemblerMIPS::Succeed ( )
virtual

◆ Succeed() [2/2]

virtual bool v8::internal::RegExpMacroAssemblerMIPS::Succeed ( )
virtual

◆ WriteCurrentPositionToRegister() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::WriteCurrentPositionToRegister ( int  reg,
int  cp_offset 
)
virtual

◆ WriteCurrentPositionToRegister() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::WriteCurrentPositionToRegister ( int  reg,
int  cp_offset 
)
virtual

◆ WriteStackPointerToRegister() [1/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::WriteStackPointerToRegister ( int  reg)
virtual

◆ WriteStackPointerToRegister() [2/2]

virtual void v8::internal::RegExpMacroAssemblerMIPS::WriteStackPointerToRegister ( int  reg)
virtual

Member Data Documentation

◆ backtrack_label_

Label v8::internal::RegExpMacroAssemblerMIPS::backtrack_label_
private

Definition at line 214 of file regexp-macro-assembler-mips.h.

◆ check_preempt_label_

Label v8::internal::RegExpMacroAssemblerMIPS::check_preempt_label_
private

Definition at line 216 of file regexp-macro-assembler-mips.h.

◆ entry_label_

Label v8::internal::RegExpMacroAssemblerMIPS::entry_label_
private

Definition at line 211 of file regexp-macro-assembler-mips.h.

◆ exit_label_

Label v8::internal::RegExpMacroAssemblerMIPS::exit_label_
private

Definition at line 215 of file regexp-macro-assembler-mips.h.

◆ internal_failure_label_

Label v8::internal::RegExpMacroAssemblerMIPS::internal_failure_label_
private

Definition at line 218 of file regexp-macro-assembler-mips.h.

◆ kDirectCall

const int v8::internal::RegExpMacroAssemblerMIPS::kDirectCall = kStackHighEnd + kPointerSize
staticprivate

Definition at line 112 of file regexp-macro-assembler-mips.h.

◆ kFramePointer

const int v8::internal::RegExpMacroAssemblerMIPS::kFramePointer = 0
staticprivate

Definition at line 98 of file regexp-macro-assembler-mips.h.

◆ kInputEnd

const int v8::internal::RegExpMacroAssemblerMIPS::kInputEnd = kFramePointer - kPointerSize
staticprivate

Definition at line 117 of file regexp-macro-assembler-mips.h.

◆ kInputStart

const int v8::internal::RegExpMacroAssemblerMIPS::kInputStart = kInputEnd - kPointerSize
staticprivate

Definition at line 118 of file regexp-macro-assembler-mips.h.

◆ kInputStartMinusOne

const int v8::internal::RegExpMacroAssemblerMIPS::kInputStartMinusOne = kSuccessfulCaptures - kPointerSize
staticprivate

Definition at line 124 of file regexp-macro-assembler-mips.h.

◆ kInputString

const int v8::internal::RegExpMacroAssemblerMIPS::kInputString = kStartIndex - kPointerSize
staticprivate

Definition at line 120 of file regexp-macro-assembler-mips.h.

◆ kIsolate

const int v8::internal::RegExpMacroAssemblerMIPS::kIsolate = kDirectCall + kPointerSize
staticprivate

Definition at line 113 of file regexp-macro-assembler-mips.h.

◆ kNumOutputRegisters

const int v8::internal::RegExpMacroAssemblerMIPS::kNumOutputRegisters = kRegisterOutput + kPointerSize
staticprivate

Definition at line 110 of file regexp-macro-assembler-mips.h.

◆ kRegExpCodeSize

static const size_t v8::internal::RegExpMacroAssemblerMIPS::kRegExpCodeSize = 1024
staticprivate

Definition at line 129 of file regexp-macro-assembler-mips.h.

◆ kRegisterOutput

const int v8::internal::RegExpMacroAssemblerMIPS::kRegisterOutput = kStackFrameHeader + 20
staticprivate

Definition at line 109 of file regexp-macro-assembler-mips.h.

◆ kRegisterZero

const int v8::internal::RegExpMacroAssemblerMIPS::kRegisterZero = kInputStartMinusOne - kPointerSize
staticprivate

Definition at line 126 of file regexp-macro-assembler-mips.h.

◆ kReturnAddress

const int v8::internal::RegExpMacroAssemblerMIPS::kReturnAddress = kStoredRegisters + 9 * kPointerSize
staticprivate

Definition at line 104 of file regexp-macro-assembler-mips.h.

◆ kSecondaryReturnAddress

const int v8::internal::RegExpMacroAssemblerMIPS::kSecondaryReturnAddress = kReturnAddress + kPointerSize
staticprivate

Definition at line 105 of file regexp-macro-assembler-mips.h.

◆ kStackFrameHeader

const int v8::internal::RegExpMacroAssemblerMIPS::kStackFrameHeader = kReturnAddress + kPointerSize
staticprivate

Definition at line 107 of file regexp-macro-assembler-mips.h.

◆ kStackHighEnd

const int v8::internal::RegExpMacroAssemblerMIPS::kStackHighEnd = kNumOutputRegisters + kPointerSize
staticprivate

Definition at line 111 of file regexp-macro-assembler-mips.h.

◆ kStartIndex

const int v8::internal::RegExpMacroAssemblerMIPS::kStartIndex = kInputStart - kPointerSize
staticprivate

Definition at line 119 of file regexp-macro-assembler-mips.h.

◆ kStoredRegisters

const int v8::internal::RegExpMacroAssemblerMIPS::kStoredRegisters = kFramePointer
staticprivate

Definition at line 102 of file regexp-macro-assembler-mips.h.

◆ kSuccessfulCaptures

const int v8::internal::RegExpMacroAssemblerMIPS::kSuccessfulCaptures = kInputString - kPointerSize
staticprivate

Definition at line 123 of file regexp-macro-assembler-mips.h.

◆ masm_

MacroAssembler * v8::internal::RegExpMacroAssemblerMIPS::masm_
private

Definition at line 198 of file regexp-macro-assembler-mips.h.

Referenced by isolate().

◆ mode_

Mode v8::internal::RegExpMacroAssemblerMIPS::mode_
private

Definition at line 201 of file regexp-macro-assembler-mips.h.

Referenced by char_size().

◆ num_registers_

int v8::internal::RegExpMacroAssemblerMIPS::num_registers_
private

Definition at line 204 of file regexp-macro-assembler-mips.h.

◆ num_saved_registers_

int v8::internal::RegExpMacroAssemblerMIPS::num_saved_registers_
private

Definition at line 208 of file regexp-macro-assembler-mips.h.

◆ stack_overflow_label_

Label v8::internal::RegExpMacroAssemblerMIPS::stack_overflow_label_
private

Definition at line 217 of file regexp-macro-assembler-mips.h.

◆ start_label_

Label v8::internal::RegExpMacroAssemblerMIPS::start_label_
private

Definition at line 212 of file regexp-macro-assembler-mips.h.

◆ success_label_

Label v8::internal::RegExpMacroAssemblerMIPS::success_label_
private

Definition at line 213 of file regexp-macro-assembler-mips.h.


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