V8 Project
v8::internal::RegExpMacroAssemblerARM64 Class Reference

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

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

Public Member Functions

 RegExpMacroAssemblerARM64 (Mode mode, int registers_to_save, Zone *zone)
 
virtual ~RegExpMacroAssemblerARM64 ()
 
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 (unsigned c, Label *on_equal)
 
virtual void CheckCharacterAfterAnd (unsigned c, unsigned 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 (unsigned c, Label *on_not_equal)
 
virtual void CheckNotCharacterAfterAnd (unsigned c, unsigned 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 v8::internal::NativeRegExpMacroAssembler
 NativeRegExpMacroAssembler (Zone *zone)
 
virtual ~NativeRegExpMacroAssembler ()
 
- Public Member Functions inherited from v8::internal::RegExpMacroAssembler
 RegExpMacroAssembler (Zone *zone)
 
virtual ~RegExpMacroAssembler ()
 
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, int start_offset, const byte **input_start, const byte **input_end)
 
- 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 Types

enum  RegisterState { STACKED , CACHED_LSW , CACHED_MSW }
 

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)
 
MemOperand capture_location (int register_index, Register scratch)
 
Register current_input_offset ()
 
Register current_character ()
 
Register input_end ()
 
Register input_start ()
 
Register start_offset ()
 
Register output_array ()
 
Register frame_pointer ()
 
Register backtrack_stackpointer ()
 
Register code_pointer ()
 
Register non_position_value ()
 
Register twice_non_position_value ()
 
int char_size ()
 
void BranchOrBacktrack (Condition condition, Label *to)
 
void CompareAndBranchOrBacktrack (Register reg, int immediate, Condition condition, Label *to)
 
void CallIf (Label *to, Condition condition)
 
void SaveLinkRegister ()
 
void RestoreLinkRegister ()
 
void Push (Register source)
 
void Pop (Register target)
 
RegisterState GetRegisterState (int register_index)
 
void StoreRegister (int register_index, Register source)
 
Register GetRegister (int register_index, Register maybe_result)
 
Register GetCachedRegister (int register_index)
 
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_
 

Static Private Attributes

static const int kCalleeSavedRegisters = 0
 
static const int kReturnAddress = kCalleeSavedRegisters + 11 * kPointerSize
 
static const int kSecondaryReturnAddress = kReturnAddress + kPointerSize
 
static const int kIsolate = kSecondaryReturnAddress + kPointerSize
 
static const int kDirectCall = kCalleeSavedRegisters - kPointerSize
 
static const int kStackBase = kDirectCall - kPointerSize
 
static const int kOutputSize = kStackBase - kPointerSize
 
static const int kInput = kOutputSize - kPointerSize
 
static const int kSuccessCounter = kInput - kPointerSize
 
static const int kFirstRegisterOnStack = kSuccessCounter - kWRegSize
 
static const int kFirstCaptureOnStack = kSuccessCounter - kXRegSize
 
static const size_t kRegExpCodeSize = 1024
 
static const int kNumRegistersToUnroll = 16
 
static const int kNumCachedRegisters = 16
 

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-arm64.h.

Member Enumeration Documentation

◆ RegisterState

Enumerator
STACKED 
CACHED_LSW 
CACHED_MSW 

Definition at line 227 of file regexp-macro-assembler-arm64.h.

227  {
228  STACKED, // Resides in memory.
229  CACHED_LSW, // Least Significant Word of a 64 bit hardware register.
230  CACHED_MSW // Most Significant Word of a 64 bit hardware register.
231  };

Constructor & Destructor Documentation

◆ RegExpMacroAssemblerARM64()

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

◆ ~RegExpMacroAssemblerARM64()

virtual v8::internal::RegExpMacroAssemblerARM64::~RegExpMacroAssemblerARM64 ( )
virtual

Member Function Documentation

◆ AdvanceCurrentPosition()

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

◆ AdvanceRegister()

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

◆ Backtrack()

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

◆ backtrack_stackpointer()

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

Definition at line 186 of file regexp-macro-assembler-arm64.h.

186 { return x23; }

◆ Bind()

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

◆ BranchOrBacktrack()

void v8::internal::RegExpMacroAssemblerARM64::BranchOrBacktrack ( Condition  condition,
Label *  to 
)
private

◆ CallCheckStackGuardState()

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

◆ CallIf()

void v8::internal::RegExpMacroAssemblerARM64::CallIf ( Label *  to,
Condition  condition 
)
inlineprivate

◆ CanReadUnaligned()

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

◆ capture_location()

MemOperand v8::internal::RegExpMacroAssemblerARM64::capture_location ( int  register_index,
Register  scratch 
)
private

◆ char_size()

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

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

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

References mode_.

◆ CheckAtStart()

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

◆ CheckBitInTable()

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

◆ CheckCharacter()

virtual void v8::internal::RegExpMacroAssemblerARM64::CheckCharacter ( unsigned  c,
Label *  on_equal 
)
virtual

◆ CheckCharacterAfterAnd()

virtual void v8::internal::RegExpMacroAssemblerARM64::CheckCharacterAfterAnd ( unsigned  c,
unsigned  mask,
Label *  on_equal 
)
virtual

◆ CheckCharacterGT()

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

◆ CheckCharacterInRange()

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

◆ CheckCharacterLT()

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

◆ CheckCharacterNotInRange()

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

◆ CheckCharacters()

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

◆ CheckGreedyLoop()

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

◆ CheckNotAtStart()

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

◆ CheckNotBackReference()

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

◆ CheckNotBackReferenceIgnoreCase()

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

◆ CheckNotCharacter()

virtual void v8::internal::RegExpMacroAssemblerARM64::CheckNotCharacter ( unsigned  c,
Label *  on_not_equal 
)
virtual

◆ CheckNotCharacterAfterAnd()

virtual void v8::internal::RegExpMacroAssemblerARM64::CheckNotCharacterAfterAnd ( unsigned  c,
unsigned  mask,
Label *  on_not_equal 
)
virtual

◆ CheckNotCharacterAfterMinusAnd()

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

◆ CheckPosition()

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

◆ CheckPreemption()

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

◆ CheckSpecialCharacterClass()

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

◆ CheckStackGuardState()

static int v8::internal::RegExpMacroAssemblerARM64::CheckStackGuardState ( Address return_address,
Code re_code,
Address  re_frame,
int  start_offset,
const byte **  input_start,
const byte **  input_end 
)
static

◆ CheckStackLimit()

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

◆ ClearRegisters()

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

◆ code_pointer()

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

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

189 { return x20; }

◆ CompareAndBranchOrBacktrack()

void v8::internal::RegExpMacroAssemblerARM64::CompareAndBranchOrBacktrack ( Register  reg,
int  immediate,
Condition  condition,
Label *  to 
)
private

◆ current_character()

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

Definition at line 165 of file regexp-macro-assembler-arm64.h.

165 { return w22; }

◆ current_input_offset()

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

Definition at line 162 of file regexp-macro-assembler-arm64.h.

162 { return w21; }

◆ Fail()

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

◆ frame_pointer()

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

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

182 { return fp; }
const Register fp

References v8::internal::fp.

◆ GetCachedRegister()

Register v8::internal::RegExpMacroAssemblerARM64::GetCachedRegister ( int  register_index)
inlineprivate

◆ GetCode()

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

◆ GetRegister()

Register v8::internal::RegExpMacroAssemblerARM64::GetRegister ( int  register_index,
Register  maybe_result 
)
inlineprivate

◆ GetRegisterState()

RegisterState v8::internal::RegExpMacroAssemblerARM64::GetRegisterState ( int  register_index)
inlineprivate

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

233  {
234  DCHECK(register_index >= 0);
235  if (register_index >= kNumCachedRegisters) {
236  return STACKED;
237  } else {
238  if ((register_index % 2) == 0) {
239  return CACHED_LSW;
240  } else {
241  return CACHED_MSW;
242  }
243  }
244  }
#define DCHECK(condition)
Definition: logging.h:205

References CACHED_LSW, CACHED_MSW, DCHECK, kNumCachedRegisters, and STACKED.

◆ GoTo()

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

◆ IfRegisterEqPos()

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

◆ IfRegisterGE()

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

◆ IfRegisterLT()

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

◆ Implementation()

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

◆ input_end()

Register v8::internal::RegExpMacroAssemblerARM64::input_end ( )
inlineprivate

Definition at line 168 of file regexp-macro-assembler-arm64.h.

168 { return x25; }

◆ input_start()

Register v8::internal::RegExpMacroAssemblerARM64::input_start ( )
inlineprivate

Definition at line 171 of file regexp-macro-assembler-arm64.h.

171 { return x26; }

◆ isolate()

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

Definition at line 264 of file regexp-macro-assembler-arm64.h.

264 { 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:

◆ LoadCurrentCharacter()

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

◆ LoadCurrentCharacterUnchecked()

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

◆ non_position_value()

Register v8::internal::RegExpMacroAssemblerARM64::non_position_value ( )
inlineprivate

Definition at line 192 of file regexp-macro-assembler-arm64.h.

192 { return w24; }

◆ output_array()

Register v8::internal::RegExpMacroAssemblerARM64::output_array ( )
inlineprivate

Definition at line 178 of file regexp-macro-assembler-arm64.h.

178 { return x28; }

◆ Pop()

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

◆ PopCurrentPosition()

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

◆ PopRegister()

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

◆ Push()

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

◆ PushBacktrack()

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

◆ PushCurrentPosition()

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

◆ PushRegister()

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

◆ ReadCurrentPositionFromRegister()

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

◆ ReadStackPointerFromRegister()

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

◆ register_location()

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

◆ RestoreLinkRegister()

void v8::internal::RegExpMacroAssemblerARM64::RestoreLinkRegister ( )
inlineprivate

◆ SaveLinkRegister()

void v8::internal::RegExpMacroAssemblerARM64::SaveLinkRegister ( )
inlineprivate

◆ SetCurrentPositionFromEnd()

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

◆ SetRegister()

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

◆ stack_limit_slack()

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

◆ start_offset()

Register v8::internal::RegExpMacroAssemblerARM64::start_offset ( )
inlineprivate

Definition at line 175 of file regexp-macro-assembler-arm64.h.

175 { return w27; }

◆ StoreRegister()

void v8::internal::RegExpMacroAssemblerARM64::StoreRegister ( int  register_index,
Register  source 
)
inlineprivate

◆ Succeed()

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

◆ twice_non_position_value()

Register v8::internal::RegExpMacroAssemblerARM64::twice_non_position_value ( )
inlineprivate

Definition at line 195 of file regexp-macro-assembler-arm64.h.

195 { return x24; }

◆ WriteCurrentPositionToRegister()

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

◆ WriteStackPointerToRegister()

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

Member Data Documentation

◆ backtrack_label_

Label v8::internal::RegExpMacroAssemblerARM64::backtrack_label_
private

Definition at line 282 of file regexp-macro-assembler-arm64.h.

◆ check_preempt_label_

Label v8::internal::RegExpMacroAssemblerARM64::check_preempt_label_
private

Definition at line 284 of file regexp-macro-assembler-arm64.h.

◆ entry_label_

Label v8::internal::RegExpMacroAssemblerARM64::entry_label_
private

Definition at line 279 of file regexp-macro-assembler-arm64.h.

◆ exit_label_

Label v8::internal::RegExpMacroAssemblerARM64::exit_label_
private

Definition at line 283 of file regexp-macro-assembler-arm64.h.

◆ kCalleeSavedRegisters

const int v8::internal::RegExpMacroAssemblerARM64::kCalleeSavedRegisters = 0
staticprivate

Definition at line 106 of file regexp-macro-assembler-arm64.h.

◆ kDirectCall

const int v8::internal::RegExpMacroAssemblerARM64::kDirectCall = kCalleeSavedRegisters - kPointerSize
staticprivate

Definition at line 116 of file regexp-macro-assembler-arm64.h.

◆ kFirstCaptureOnStack

const int v8::internal::RegExpMacroAssemblerARM64::kFirstCaptureOnStack = kSuccessCounter - kXRegSize
staticprivate

Definition at line 127 of file regexp-macro-assembler-arm64.h.

◆ kFirstRegisterOnStack

const int v8::internal::RegExpMacroAssemblerARM64::kFirstRegisterOnStack = kSuccessCounter - kWRegSize
staticprivate

Definition at line 125 of file regexp-macro-assembler-arm64.h.

◆ kInput

const int v8::internal::RegExpMacroAssemblerARM64::kInput = kOutputSize - kPointerSize
staticprivate

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

◆ kIsolate

const int v8::internal::RegExpMacroAssemblerARM64::kIsolate = kSecondaryReturnAddress + kPointerSize
staticprivate

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

◆ kNumCachedRegisters

const int v8::internal::RegExpMacroAssemblerARM64::kNumCachedRegisters = 16
staticprivate

Definition at line 139 of file regexp-macro-assembler-arm64.h.

Referenced by GetRegisterState().

◆ kNumRegistersToUnroll

const int v8::internal::RegExpMacroAssemblerARM64::kNumRegistersToUnroll = 16
staticprivate

Definition at line 134 of file regexp-macro-assembler-arm64.h.

◆ kOutputSize

const int v8::internal::RegExpMacroAssemblerARM64::kOutputSize = kStackBase - kPointerSize
staticprivate

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

◆ kRegExpCodeSize

const size_t v8::internal::RegExpMacroAssemblerARM64::kRegExpCodeSize = 1024
staticprivate

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

◆ kReturnAddress

const int v8::internal::RegExpMacroAssemblerARM64::kReturnAddress = kCalleeSavedRegisters + 11 * kPointerSize
staticprivate

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

◆ kSecondaryReturnAddress

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

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

◆ kStackBase

const int v8::internal::RegExpMacroAssemblerARM64::kStackBase = kDirectCall - kPointerSize
staticprivate

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

◆ kSuccessCounter

const int v8::internal::RegExpMacroAssemblerARM64::kSuccessCounter = kInput - kPointerSize
staticprivate

Definition at line 122 of file regexp-macro-assembler-arm64.h.

◆ masm_

MacroAssembler* v8::internal::RegExpMacroAssemblerARM64::masm_
private

Definition at line 266 of file regexp-macro-assembler-arm64.h.

Referenced by isolate().

◆ mode_

Mode v8::internal::RegExpMacroAssemblerARM64::mode_
private

Definition at line 269 of file regexp-macro-assembler-arm64.h.

Referenced by char_size().

◆ num_registers_

int v8::internal::RegExpMacroAssemblerARM64::num_registers_
private

Definition at line 272 of file regexp-macro-assembler-arm64.h.

◆ num_saved_registers_

int v8::internal::RegExpMacroAssemblerARM64::num_saved_registers_
private

Definition at line 276 of file regexp-macro-assembler-arm64.h.

◆ stack_overflow_label_

Label v8::internal::RegExpMacroAssemblerARM64::stack_overflow_label_
private

Definition at line 285 of file regexp-macro-assembler-arm64.h.

◆ start_label_

Label v8::internal::RegExpMacroAssemblerARM64::start_label_
private

Definition at line 280 of file regexp-macro-assembler-arm64.h.

◆ success_label_

Label v8::internal::RegExpMacroAssemblerARM64::success_label_
private

Definition at line 281 of file regexp-macro-assembler-arm64.h.


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