v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RegExpMacroAssemblerMIPS Class Reference

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

Inheritance diagram for RegExpMacroAssemblerMIPS:
Collaboration diagram for 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 CheckCharacters (Vector< const uc16 > str, int cp_offset, Label *on_failure, bool check_end_of_string)
 
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 ()
 
- Public Member Functions inherited from NativeRegExpMacroAssembler
 NativeRegExpMacroAssembler (Zone *zone)
 
virtual ~NativeRegExpMacroAssembler ()
 
- Public Member Functions inherited from 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 Public Member Functions inherited from 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)
 

Additional Inherited Members

- Public Types inherited from NativeRegExpMacroAssembler
enum  Mode { ASCII = 1, UC16 = 2 }
 
enum  Result { RETRY = -2, EXCEPTION = -1, FAILURE = 0, SUCCESS = 1 }
 
- Public Types inherited from RegExpMacroAssembler
enum  IrregexpImplementation {
  kIA32Implementation, kARMImplementation, kMIPSImplementation, kX64Implementation,
  kBytecodeImplementation
}
 
enum  StackCheckFlag { kNoStackLimitCheck = false, kCheckStackLimit = true }
 
enum  GlobalMode { NOT_GLOBAL, GLOBAL, GLOBAL_NO_ZERO_LENGTH_CHECK }
 
- Static Public Attributes inherited from NativeRegExpMacroAssembler
static const byte word_character_map [128]
 
- Static Public Attributes inherited from 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 42 of file regexp-macro-assembler-mips.h.

Constructor & Destructor Documentation

RegExpMacroAssemblerMIPS ( Mode  mode,
int  registers_to_save,
Zone zone 
)
virtual ~RegExpMacroAssemblerMIPS ( )
virtual

Member Function Documentation

virtual void AdvanceCurrentPosition ( int  by)
virtual

Implements RegExpMacroAssembler.

virtual void AdvanceRegister ( int  reg,
int  by 
)
virtual

Implements RegExpMacroAssembler.

virtual void Backtrack ( )
virtual

Implements RegExpMacroAssembler.

virtual void Bind ( Label *  label)
virtual

Implements RegExpMacroAssembler.

virtual bool CanReadUnaligned ( )
virtual

Reimplemented from NativeRegExpMacroAssembler.

virtual void CheckAtStart ( Label *  on_at_start)
virtual

Implements RegExpMacroAssembler.

virtual void CheckBitInTable ( Handle< ByteArray table,
Label *  on_bit_set 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckCharacter ( uint32_t  c,
Label *  on_equal 
)
virtual
virtual void CheckCharacterAfterAnd ( uint32_t  c,
uint32_t  mask,
Label *  on_equal 
)
virtual
virtual void CheckCharacterGT ( uc16  limit,
Label *  on_greater 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckCharacterInRange ( uc16  from,
uc16  to,
Label *  on_in_range 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckCharacterLT ( uc16  limit,
Label *  on_less 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckCharacterNotInRange ( uc16  from,
uc16  to,
Label *  on_not_in_range 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckCharacters ( Vector< const uc16 str,
int  cp_offset,
Label *  on_failure,
bool  check_end_of_string 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckGreedyLoop ( Label *  on_tos_equals_current_position)
virtual

Implements RegExpMacroAssembler.

virtual void CheckNotAtStart ( Label *  on_not_at_start)
virtual

Implements RegExpMacroAssembler.

virtual void CheckNotBackReference ( int  start_reg,
Label *  on_no_match 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckNotBackReferenceIgnoreCase ( int  start_reg,
Label *  on_no_match 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckNotCharacter ( uint32_t  c,
Label *  on_not_equal 
)
virtual
virtual void CheckNotCharacterAfterAnd ( uint32_t  c,
uint32_t  mask,
Label *  on_not_equal 
)
virtual
virtual void CheckNotCharacterAfterMinusAnd ( uc16  c,
uc16  minus,
uc16  mask,
Label *  on_not_equal 
)
virtual

Implements RegExpMacroAssembler.

virtual void CheckPosition ( int  cp_offset,
Label *  on_outside_input 
)
virtual

Reimplemented from RegExpMacroAssembler.

virtual bool CheckSpecialCharacterClass ( uc16  type,
Label *  on_no_match 
)
virtual

Reimplemented from RegExpMacroAssembler.

static int CheckStackGuardState ( Address return_address,
Code re_code,
Address  re_frame 
)
static
virtual void ClearRegisters ( int  reg_from,
int  reg_to 
)
virtual

Implements RegExpMacroAssembler.

virtual void Fail ( )
virtual

Implements RegExpMacroAssembler.

virtual Handle<HeapObject> GetCode ( Handle< String source)
virtual

Implements RegExpMacroAssembler.

virtual void GoTo ( Label *  label)
virtual

Implements RegExpMacroAssembler.

virtual void IfRegisterEqPos ( int  reg,
Label *  if_eq 
)
virtual

Implements RegExpMacroAssembler.

virtual void IfRegisterGE ( int  reg,
int  comparand,
Label *  if_ge 
)
virtual

Implements RegExpMacroAssembler.

virtual void IfRegisterLT ( int  reg,
int  comparand,
Label *  if_lt 
)
virtual

Implements RegExpMacroAssembler.

virtual IrregexpImplementation Implementation ( )
virtual

Implements RegExpMacroAssembler.

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

Implements RegExpMacroAssembler.

virtual void PopCurrentPosition ( )
virtual

Implements RegExpMacroAssembler.

virtual void PopRegister ( int  register_index)
virtual

Implements RegExpMacroAssembler.

virtual void PushBacktrack ( Label *  label)
virtual

Implements RegExpMacroAssembler.

virtual void PushCurrentPosition ( )
virtual

Implements RegExpMacroAssembler.

virtual void PushRegister ( int  register_index,
StackCheckFlag  check_stack_limit 
)
virtual

Implements RegExpMacroAssembler.

virtual void ReadCurrentPositionFromRegister ( int  reg)
virtual

Implements RegExpMacroAssembler.

virtual void ReadStackPointerFromRegister ( int  reg)
virtual

Implements RegExpMacroAssembler.

virtual void SetCurrentPositionFromEnd ( int  by)
virtual

Implements RegExpMacroAssembler.

virtual void SetRegister ( int  register_index,
int  to 
)
virtual

Implements RegExpMacroAssembler.

virtual int stack_limit_slack ( )
virtual

Implements RegExpMacroAssembler.

virtual bool Succeed ( )
virtual

Implements RegExpMacroAssembler.

virtual void WriteCurrentPositionToRegister ( int  reg,
int  cp_offset 
)
virtual

Implements RegExpMacroAssembler.

virtual void WriteStackPointerToRegister ( int  reg)
virtual

Implements RegExpMacroAssembler.


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