v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::RegExpMacroAssemblerMIPS Class Reference

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

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

Public Member Functions

 RegExpMacroAssemblerMIPS (Isolate *isolate, Zone *zone, Mode mode, int registers_to_save)
 
 ~RegExpMacroAssemblerMIPS () override
 
int stack_limit_slack_slot_count () override
 
void AdvanceCurrentPosition (int by) override
 
void AdvanceRegister (int reg, int by) override
 
void Backtrack () override
 
void Bind (Label *label) override
 
void CheckAtStart (int cp_offset, 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 (base::uc16 limit, Label *on_greater) override
 
void CheckCharacterLT (base::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 (base::uc16 c, base::uc16 minus, base::uc16 mask, Label *on_not_equal) override
 
void CheckCharacterInRange (base::uc16 from, base::uc16 to, Label *on_in_range) override
 
void CheckCharacterNotInRange (base::uc16 from, base::uc16 to, Label *on_not_in_range) override
 
bool CheckCharacterInRangeArray (const ZoneList< CharacterRange > *ranges, Label *on_in_range) override
 
bool CheckCharacterNotInRangeArray (const ZoneList< CharacterRange > *ranges, Label *on_not_in_range) override
 
void CheckBitInTable (Handle< ByteArray > table, Label *on_bit_set) override
 
void SkipUntilBitInTable (int cp_offset, Handle< ByteArray > table, Handle< ByteArray > nibble_table, int advance_by) override
 
void CheckPosition (int cp_offset, Label *on_outside_input) override
 
bool CheckSpecialClassRanges (StandardCharacterSet type, Label *on_no_match) override
 
void Fail () override
 
DirectHandle< HeapObjectGetCode (DirectHandle< String > source, RegExpFlags flags) 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 LoadCurrentCharacterUnchecked (int cp_offset, int character_count) 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
 
bool CanReadUnaligned () const override
 
void print_regexp_frame_constants ()
 
- Public Member Functions inherited from v8::internal::NativeRegExpMacroAssembler
 NativeRegExpMacroAssembler (Isolate *isolate, Zone *zone)
 
 ~NativeRegExpMacroAssembler () override=default
 
void LoadCurrentCharacterImpl (int cp_offset, Label *on_end_of_input, bool check_bounds, int characters, int eats_at_least) override
 
- Public Member Functions inherited from v8::internal::RegExpMacroAssembler
 RegExpMacroAssembler (Isolate *isolate, Zone *zone)
 
virtual ~RegExpMacroAssembler ()=default
 
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
 
virtual bool SkipUntilBitInTableUseSimd (int advance_by)
 
virtual void BindJumpTarget (Label *label)
 
V8_EXPORT_PRIVATE void LoadCurrentCharacter (int cp_offset, Label *on_end_of_input, bool check_bounds=true, int characters=1, int eats_at_least=kUseCharactersValue)
 
void CheckNotInSurrogatePair (int cp_offset, Label *on_failure)
 
const char * ImplementationToString (IrregexpImplementation impl)
 
void set_slow_safe (bool ssc)
 
bool slow_safe () const
 
void set_backtrack_limit (uint32_t backtrack_limit)
 
void set_can_fallback (bool val)
 
void set_global_mode (GlobalMode mode)
 
bool global () const
 
bool global_with_zero_length_check () const
 
bool global_unicode () const
 
Isolateisolate () const
 
Zonezone () const
 

Static Public Member Functions

static int64_t CheckStackGuardState (Address *return_address, Address raw_code, Address re_frame, uintptr_t extra_space)
 
- Static Public Member Functions inherited from v8::internal::NativeRegExpMacroAssembler
static int Match (DirectHandle< IrRegExpData > regexp_data, DirectHandle< String > subject, int *offsets_vector, int offsets_vector_length, int previous_index, Isolate *isolate)
 
static V8_EXPORT_PRIVATE int ExecuteForTesting (Tagged< String > input, int start_offset, const uint8_t *input_start, const uint8_t *input_end, int *output, int output_size, Isolate *isolate, Tagged< JSRegExp > regexp)
 
static Address GrowStack (Isolate *isolate)
 
static int CheckStackGuardState (Isolate *isolate, int start_index, RegExp::CallOrigin call_origin, Address *return_address, Tagged< InstructionStream > re_code, Address *subject, const uint8_t **input_start, const uint8_t **input_end, uintptr_t gap)
 
static Address word_character_map_address ()
 
- Static Public Member Functions inherited from v8::internal::RegExpMacroAssembler
static int CaseInsensitiveCompareNonUnicode (Address byte_offset1, Address byte_offset2, size_t byte_length, Isolate *isolate)
 
static int CaseInsensitiveCompareUnicode (Address byte_offset1, Address byte_offset2, size_t byte_length, Isolate *isolate)
 
static uint32_t IsCharacterInRangeArray (uint32_t current_char, Address raw_byte_array)
 

Private Member Functions

void PushCallerSavedRegisters ()
 
void PopCallerSavedRegisters ()
 
void CallCFunctionFromIrregexpCode (ExternalReference function, int num_arguments)
 
void CheckPreemption ()
 
void CheckStackLimit ()
 
void AssertAboveStackLimitMinusSlack ()
 
void CallCheckStackGuardState (Register scratch, Operand extra_space=Operand(0))
 
void CallIsCharacterInRangeArray (const ZoneList< CharacterRange > *ranges)
 
MemOperand register_location (int register_index)
 
int char_size () const
 
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)
 
void LoadRegExpStackPointerFromMemory (Register dst)
 
void StoreRegExpStackPointerToMemory (Register src, Register scratch)
 
void PushRegExpBasePointer (Register stack_pointer, Register scratch)
 
void PopRegExpBasePointer (Register stack_pointer_out, Register scratch)
 
Isolateisolate () const
 

Static Private Member Functions

static constexpr Register current_input_offset ()
 
static constexpr Register current_character ()
 
static constexpr Register end_of_input_address ()
 
static constexpr Register frame_pointer ()
 
static constexpr Register backtrack_stackpointer ()
 
static constexpr Register code_pointer ()
 

Private Attributes

const std::unique_ptr< MacroAssemblermasm_
 
const NoRootArrayScope no_root_array_scope_
 
const Mode mode_
 
int num_registers_
 
const 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_
 
Label fallback_label_
 

Static Private Attributes

static constexpr int kFramePointerOffset = 0
 
static constexpr int kStoredRegistersOffset = kFramePointerOffset
 
static constexpr int kReturnAddressOffset
 
static constexpr int kStackFrameHeaderOffset = kReturnAddressOffset
 
static constexpr int kFrameTypeOffset
 
static constexpr int kIsolateOffset = kFrameTypeOffset - kSystemPointerSize
 
static constexpr int kDirectCallOffset = kIsolateOffset - kSystemPointerSize
 
static constexpr int kNumOutputRegistersOffset
 
static constexpr int kRegisterOutputOffset
 
static constexpr int kInputEndOffset
 
static constexpr int kInputStartOffset = kInputEndOffset - kSystemPointerSize
 
static constexpr int kStartIndexOffset
 
static constexpr int kInputStringOffset
 
static constexpr int kSuccessfulCapturesOffset
 
static constexpr int kStringStartMinusOneOffset
 
static constexpr int kBacktrackCountOffset
 
static constexpr int kRegExpStackBasePointerOffset
 
static constexpr int kRegisterZeroOffset
 
static constexpr int kInitialBufferSize = 1024
 

Additional Inherited Members

- Public Types inherited from v8::internal::NativeRegExpMacroAssembler
enum  Mode { LATIN1 = 1 , UC16 = 2 }
 
enum  Result {
  FAILURE = RegExp::kInternalRegExpFailure , SUCCESS = RegExp::kInternalRegExpSuccess , EXCEPTION = RegExp::kInternalRegExpException , RETRY = RegExp::kInternalRegExpRetry ,
  FALLBACK_TO_EXPERIMENTAL = RegExp::kInternalRegExpFallbackToExperimental , SMALLEST_REGEXP_RESULT = RegExp::kInternalRegExpSmallestResult
}
 
- Public Types inherited from v8::internal::RegExpMacroAssembler
enum  StackCheckFlag { kNoStackLimitCheck = false , kCheckStackLimit = true }
 
enum  IrregexpImplementation
 
enum  GlobalMode { NOT_GLOBAL , GLOBAL_NO_ZERO_LENGTH_CHECK , GLOBAL , GLOBAL_UNICODE }
 
- Static Public Attributes inherited from v8::internal::RegExpMacroAssembler
static constexpr int kMaxRegisterCount = (1 << 16)
 
static constexpr int kMaxRegister = kMaxRegisterCount - 1
 
static constexpr int kMaxCaptures = (kMaxRegister - 1) / 2
 
static constexpr int kMaxCPOffset = (1 << 15) - 1
 
static constexpr int kMinCPOffset = -(1 << 15)
 
static constexpr int kTableSizeBits = 7
 
static constexpr int kTableSize = 1 << kTableSizeBits
 
static constexpr int kTableMask = kTableSize - 1
 
static constexpr int kUseCharactersValue = -1
 
- Protected Member Functions inherited from v8::internal::NativeRegExpMacroAssembler
Handle< ByteArrayGetOrAddRangeArray (const ZoneList< CharacterRange > *ranges)
 
- Protected Member Functions inherited from v8::internal::RegExpMacroAssembler
bool has_backtrack_limit () const
 
uint32_t backtrack_limit () const
 
bool can_fallback () const
 
- Static Protected Attributes inherited from v8::internal::NativeRegExpMacroAssembler
static const uint8_t word_character_map [256]
 

Detailed Description

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

Constructor & Destructor Documentation

◆ RegExpMacroAssemblerMIPS()

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

◆ ~RegExpMacroAssemblerMIPS()

v8::internal::RegExpMacroAssemblerMIPS::~RegExpMacroAssemblerMIPS ( )
override

Member Function Documentation

◆ AdvanceCurrentPosition()

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

◆ AdvanceRegister()

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

◆ AssertAboveStackLimitMinusSlack()

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

◆ Backtrack()

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

◆ backtrack_stackpointer()

static constexpr Register v8::internal::RegExpMacroAssemblerMIPS::backtrack_stackpointer ( )
inlinestaticconstexprprivate

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

◆ Bind()

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

◆ BranchOrBacktrack()

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

◆ CallCFunctionFromIrregexpCode()

void v8::internal::RegExpMacroAssemblerMIPS::CallCFunctionFromIrregexpCode ( ExternalReference function,
int num_arguments )
private

◆ CallCheckStackGuardState()

void v8::internal::RegExpMacroAssemblerMIPS::CallCheckStackGuardState ( Register scratch,
Operand extra_space = Operand(0) )
private

◆ CallIsCharacterInRangeArray()

void v8::internal::RegExpMacroAssemblerMIPS::CallIsCharacterInRangeArray ( const ZoneList< CharacterRange > * ranges)
private

◆ CanReadUnaligned()

bool v8::internal::RegExpMacroAssemblerMIPS::CanReadUnaligned ( ) const
overridevirtual

◆ char_size()

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

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

◆ CheckAtStart()

void v8::internal::RegExpMacroAssemblerMIPS::CheckAtStart ( int cp_offset,
Label * on_at_start )
overridevirtual

◆ CheckBitInTable()

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

◆ CheckCharacter()

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

◆ CheckCharacterAfterAnd()

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

◆ CheckCharacterGT()

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

◆ CheckCharacterInRange()

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

◆ CheckCharacterInRangeArray()

bool v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterInRangeArray ( const ZoneList< CharacterRange > * ranges,
Label * on_in_range )
overridevirtual

◆ CheckCharacterLT()

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

◆ CheckCharacterNotInRange()

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

◆ CheckCharacterNotInRangeArray()

bool v8::internal::RegExpMacroAssemblerMIPS::CheckCharacterNotInRangeArray ( const ZoneList< CharacterRange > * ranges,
Label * on_not_in_range )
overridevirtual

◆ CheckGreedyLoop()

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

◆ CheckNotAtStart()

void v8::internal::RegExpMacroAssemblerMIPS::CheckNotAtStart ( int cp_offset,
Label * on_not_at_start )
overridevirtual

◆ CheckNotBackReference()

void v8::internal::RegExpMacroAssemblerMIPS::CheckNotBackReference ( int start_reg,
bool read_backward,
Label * on_no_match )
overridevirtual

◆ CheckNotBackReferenceIgnoreCase()

void v8::internal::RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase ( int start_reg,
bool read_backward,
bool unicode,
Label * on_no_match )
overridevirtual

◆ CheckNotCharacter()

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

◆ CheckNotCharacterAfterAnd()

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

◆ CheckNotCharacterAfterMinusAnd()

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

◆ CheckPosition()

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

◆ CheckPreemption()

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

◆ CheckSpecialClassRanges()

bool v8::internal::RegExpMacroAssemblerMIPS::CheckSpecialClassRanges ( StandardCharacterSet type,
Label * on_no_match )
overridevirtual

◆ CheckStackGuardState()

static int64_t v8::internal::RegExpMacroAssemblerMIPS::CheckStackGuardState ( Address * return_address,
Address raw_code,
Address re_frame,
uintptr_t extra_space )
static

◆ CheckStackLimit()

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

◆ ClearRegisters()

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

◆ code_pointer()

static constexpr Register v8::internal::RegExpMacroAssemblerMIPS::code_pointer ( )
inlinestaticconstexprprivate

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

◆ current_character()

static constexpr Register v8::internal::RegExpMacroAssemblerMIPS::current_character ( )
inlinestaticconstexprprivate

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

◆ current_input_offset()

static constexpr Register v8::internal::RegExpMacroAssemblerMIPS::current_input_offset ( )
inlinestaticconstexprprivate

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

◆ end_of_input_address()

static constexpr Register v8::internal::RegExpMacroAssemblerMIPS::end_of_input_address ( )
inlinestaticconstexprprivate

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

◆ Fail()

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

◆ frame_pointer()

static constexpr Register v8::internal::RegExpMacroAssemblerMIPS::frame_pointer ( )
inlinestaticconstexprprivate

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

◆ GetCode()

DirectHandle< HeapObject > v8::internal::RegExpMacroAssemblerMIPS::GetCode ( DirectHandle< String > source,
RegExpFlags flags )
overridevirtual

◆ GoTo()

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

◆ IfRegisterEqPos()

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

◆ IfRegisterGE()

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

◆ IfRegisterLT()

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

◆ Implementation()

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

◆ isolate()

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

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

◆ LoadCurrentCharacterUnchecked()

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

◆ LoadRegExpStackPointerFromMemory()

void v8::internal::RegExpMacroAssemblerMIPS::LoadRegExpStackPointerFromMemory ( Register dst)
private

◆ Pop()

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

◆ PopCallerSavedRegisters()

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

◆ PopCurrentPosition()

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

◆ PopRegExpBasePointer()

void v8::internal::RegExpMacroAssemblerMIPS::PopRegExpBasePointer ( Register stack_pointer_out,
Register scratch )
private

◆ PopRegister()

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

◆ print_regexp_frame_constants()

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

◆ Push()

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

◆ PushBacktrack()

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

◆ PushCallerSavedRegisters()

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

◆ PushCurrentPosition()

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

◆ PushRegExpBasePointer()

void v8::internal::RegExpMacroAssemblerMIPS::PushRegExpBasePointer ( Register stack_pointer,
Register scratch )
private

◆ PushRegister()

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

◆ ReadCurrentPositionFromRegister()

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

◆ ReadStackPointerFromRegister()

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

◆ register_location()

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

◆ SafeCall()

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

◆ SafeCallTarget()

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

◆ SafeReturn()

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

◆ SetCurrentPositionFromEnd()

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

◆ SetRegister()

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

◆ SkipUntilBitInTable()

void v8::internal::RegExpMacroAssemblerMIPS::SkipUntilBitInTable ( int cp_offset,
Handle< ByteArray > table,
Handle< ByteArray > nibble_table,
int advance_by )
overridevirtual

◆ stack_limit_slack_slot_count()

int v8::internal::RegExpMacroAssemblerMIPS::stack_limit_slack_slot_count ( )
overridevirtual

◆ StoreRegExpStackPointerToMemory()

void v8::internal::RegExpMacroAssemblerMIPS::StoreRegExpStackPointerToMemory ( Register src,
Register scratch )
private

◆ Succeed()

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

◆ WriteCurrentPositionToRegister()

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

◆ WriteStackPointerToRegister()

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

Member Data Documentation

◆ backtrack_label_

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

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

◆ check_preempt_label_

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

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

◆ entry_label_

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

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

◆ exit_label_

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

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

◆ fallback_label_

Label v8::internal::RegExpMacroAssemblerMIPS::fallback_label_
private

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

◆ internal_failure_label_

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

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

◆ kBacktrackCountOffset

int v8::internal::RegExpMacroAssemblerMIPS::kBacktrackCountOffset
staticconstexprprivate
Initial value:

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

◆ kDirectCallOffset

int v8::internal::RegExpMacroAssemblerMIPS::kDirectCallOffset = kIsolateOffset - kSystemPointerSize
staticconstexprprivate

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

◆ kFramePointerOffset

int v8::internal::RegExpMacroAssemblerMIPS::kFramePointerOffset = 0
staticconstexprprivate

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

◆ kFrameTypeOffset

int v8::internal::RegExpMacroAssemblerMIPS::kFrameTypeOffset
staticconstexprprivate

◆ kInitialBufferSize

int v8::internal::RegExpMacroAssemblerMIPS::kInitialBufferSize = 1024
staticconstexprprivate

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

◆ kInputEndOffset

int v8::internal::RegExpMacroAssemblerMIPS::kInputEndOffset
staticconstexprprivate

◆ kInputStartOffset

int v8::internal::RegExpMacroAssemblerMIPS::kInputStartOffset = kInputEndOffset - kSystemPointerSize
staticconstexprprivate

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

◆ kInputStringOffset

int v8::internal::RegExpMacroAssemblerMIPS::kInputStringOffset
staticconstexprprivate

◆ kIsolateOffset

int v8::internal::RegExpMacroAssemblerMIPS::kIsolateOffset = kFrameTypeOffset - kSystemPointerSize
staticconstexprprivate

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

◆ kNumOutputRegistersOffset

int v8::internal::RegExpMacroAssemblerMIPS::kNumOutputRegistersOffset
staticconstexprprivate

◆ kRegExpStackBasePointerOffset

int v8::internal::RegExpMacroAssemblerMIPS::kRegExpStackBasePointerOffset
staticconstexprprivate

◆ kRegisterOutputOffset

int v8::internal::RegExpMacroAssemblerMIPS::kRegisterOutputOffset
staticconstexprprivate

◆ kRegisterZeroOffset

int v8::internal::RegExpMacroAssemblerMIPS::kRegisterZeroOffset
staticconstexprprivate

◆ kReturnAddressOffset

int v8::internal::RegExpMacroAssemblerMIPS::kReturnAddressOffset
staticconstexprprivate

◆ kStackFrameHeaderOffset

int v8::internal::RegExpMacroAssemblerMIPS::kStackFrameHeaderOffset = kReturnAddressOffset
staticconstexprprivate

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

◆ kStartIndexOffset

int v8::internal::RegExpMacroAssemblerMIPS::kStartIndexOffset
staticconstexprprivate

◆ kStoredRegistersOffset

int v8::internal::RegExpMacroAssemblerMIPS::kStoredRegistersOffset = kFramePointerOffset
staticconstexprprivate

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

◆ kStringStartMinusOneOffset

int v8::internal::RegExpMacroAssemblerMIPS::kStringStartMinusOneOffset
staticconstexprprivate

◆ kSuccessfulCapturesOffset

int v8::internal::RegExpMacroAssemblerMIPS::kSuccessfulCapturesOffset
staticconstexprprivate

◆ masm_

const std::unique_ptr<MacroAssembler> v8::internal::RegExpMacroAssemblerMIPS::masm_
private

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

◆ mode_

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

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

◆ no_root_array_scope_

const NoRootArrayScope v8::internal::RegExpMacroAssemblerMIPS::no_root_array_scope_
private

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

◆ num_registers_

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

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

◆ num_saved_registers_

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

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

◆ stack_overflow_label_

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

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

◆ start_label_

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

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

◆ success_label_

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

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


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