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

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

Inheritance diagram for v8::internal::RegExpMacroAssemblerPPC:
Collaboration diagram for v8::internal::RegExpMacroAssemblerPPC:

Public Member Functions

 RegExpMacroAssemblerPPC (Isolate *isolate, Zone *zone, Mode mode, int registers_to_save)
 
 ~RegExpMacroAssemblerPPC () 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 (unsigned c, Label *on_equal) override
 
void CheckCharacterAfterAnd (unsigned c, unsigned 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 (unsigned c, Label *on_not_equal) override
 
void CheckNotCharacterAfterAnd (unsigned c, unsigned 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
 
- Public Member Functions inherited from v8::internal::NativeRegExpMacroAssembler
 NativeRegExpMacroAssembler (Isolate *isolate, Zone *zone)
 
 ~NativeRegExpMacroAssembler () override=default
 
bool CanReadUnaligned () const override
 
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 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 int 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 CallCFunctionFromIrregexpCode (ExternalReference function, int num_arguments)
 
void CheckPreemption ()
 
void CheckStackLimit ()
 
void AssertAboveStackLimitMinusSlack ()
 
void CallCheckStackGuardState (Register scratch, Operand extra_space_for_variables=Operand::Zero())
 
void CallIsCharacterInRangeArray (const ZoneList< CharacterRange > *ranges)
 
MemOperand register_location (int register_index)
 
int char_size () const
 
void BranchOrBacktrack (Condition condition, Label *to, CRegister cr=cr0)
 
void SafeCall (Label *to, Condition cond=al, CRegister cr=cr0)
 
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 kCallerFrameOffset
 
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 kRegExpCodeSize = 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-ppc.h.

Constructor & Destructor Documentation

◆ RegExpMacroAssemblerPPC()

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

◆ ~RegExpMacroAssemblerPPC()

v8::internal::RegExpMacroAssemblerPPC::~RegExpMacroAssemblerPPC ( )
override

Member Function Documentation

◆ AdvanceCurrentPosition()

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

◆ AdvanceRegister()

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

◆ AssertAboveStackLimitMinusSlack()

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

◆ Backtrack()

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

◆ backtrack_stackpointer()

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

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

◆ Bind()

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

◆ BranchOrBacktrack()

void v8::internal::RegExpMacroAssemblerPPC::BranchOrBacktrack ( Condition condition,
Label * to,
CRegister cr = cr0 )
private

◆ CallCFunctionFromIrregexpCode()

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

◆ CallCheckStackGuardState()

void v8::internal::RegExpMacroAssemblerPPC::CallCheckStackGuardState ( Register scratch,
Operand extra_space_for_variables = Operand::Zero() )
private

◆ CallIsCharacterInRangeArray()

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

◆ char_size()

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

Definition at line 191 of file regexp-macro-assembler-ppc.h.

◆ CheckAtStart()

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

◆ CheckBitInTable()

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

◆ CheckCharacter()

void v8::internal::RegExpMacroAssemblerPPC::CheckCharacter ( unsigned c,
Label * on_equal )
overridevirtual

◆ CheckCharacterAfterAnd()

void v8::internal::RegExpMacroAssemblerPPC::CheckCharacterAfterAnd ( unsigned c,
unsigned mask,
Label * on_equal )
overridevirtual

◆ CheckCharacterGT()

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

◆ CheckCharacterInRange()

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

◆ CheckCharacterInRangeArray()

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

◆ CheckCharacterLT()

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

◆ CheckCharacterNotInRange()

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

◆ CheckCharacterNotInRangeArray()

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

◆ CheckGreedyLoop()

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

◆ CheckNotAtStart()

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

◆ CheckNotBackReference()

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

◆ CheckNotBackReferenceIgnoreCase()

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

◆ CheckNotCharacter()

void v8::internal::RegExpMacroAssemblerPPC::CheckNotCharacter ( unsigned c,
Label * on_not_equal )
overridevirtual

◆ CheckNotCharacterAfterAnd()

void v8::internal::RegExpMacroAssemblerPPC::CheckNotCharacterAfterAnd ( unsigned c,
unsigned mask,
Label * on_not_equal )
overridevirtual

◆ CheckNotCharacterAfterMinusAnd()

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

◆ CheckPosition()

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

◆ CheckPreemption()

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

◆ CheckSpecialClassRanges()

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

◆ CheckStackGuardState()

static int v8::internal::RegExpMacroAssemblerPPC::CheckStackGuardState ( Address * return_address,
Address raw_code,
Address re_frame,
uintptr_t extra_space )
static

◆ CheckStackLimit()

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

◆ ClearRegisters()

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

◆ code_pointer()

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

Definition at line 188 of file regexp-macro-assembler-ppc.h.

◆ current_character()

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

Definition at line 174 of file regexp-macro-assembler-ppc.h.

◆ current_input_offset()

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

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

◆ end_of_input_address()

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

Definition at line 177 of file regexp-macro-assembler-ppc.h.

◆ Fail()

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

◆ frame_pointer()

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

Definition at line 181 of file regexp-macro-assembler-ppc.h.

◆ GetCode()

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

◆ GoTo()

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

◆ IfRegisterEqPos()

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

◆ IfRegisterGE()

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

◆ IfRegisterLT()

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

◆ Implementation()

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

◆ isolate()

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

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

◆ LoadCurrentCharacterUnchecked()

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

◆ LoadRegExpStackPointerFromMemory()

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

◆ Pop()

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

◆ PopCurrentPosition()

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

◆ PopRegExpBasePointer()

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

◆ PopRegister()

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

◆ Push()

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

◆ PushBacktrack()

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

◆ PushCurrentPosition()

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

◆ PushRegExpBasePointer()

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

◆ PushRegister()

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

◆ ReadCurrentPositionFromRegister()

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

◆ ReadStackPointerFromRegister()

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

◆ register_location()

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

◆ SafeCall()

void v8::internal::RegExpMacroAssemblerPPC::SafeCall ( Label * to,
Condition cond = al,
CRegister cr = cr0 )
inlineprivate

◆ SafeCallTarget()

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

◆ SafeReturn()

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

◆ SetCurrentPositionFromEnd()

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

◆ SetRegister()

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

◆ SkipUntilBitInTable()

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

◆ stack_limit_slack_slot_count()

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

◆ StoreRegExpStackPointerToMemory()

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

◆ Succeed()

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

◆ WriteCurrentPositionToRegister()

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

◆ WriteStackPointerToRegister()

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

Member Data Documentation

◆ backtrack_label_

Label v8::internal::RegExpMacroAssemblerPPC::backtrack_label_
private

Definition at line 235 of file regexp-macro-assembler-ppc.h.

◆ check_preempt_label_

Label v8::internal::RegExpMacroAssemblerPPC::check_preempt_label_
private

Definition at line 237 of file regexp-macro-assembler-ppc.h.

◆ entry_label_

Label v8::internal::RegExpMacroAssemblerPPC::entry_label_
private

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

◆ exit_label_

Label v8::internal::RegExpMacroAssemblerPPC::exit_label_
private

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

◆ fallback_label_

Label v8::internal::RegExpMacroAssemblerPPC::fallback_label_
private

Definition at line 240 of file regexp-macro-assembler-ppc.h.

◆ internal_failure_label_

Label v8::internal::RegExpMacroAssemblerPPC::internal_failure_label_
private

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

◆ kBacktrackCountOffset

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

Definition at line 137 of file regexp-macro-assembler-ppc.h.

◆ kCallerFrameOffset

int v8::internal::RegExpMacroAssemblerPPC::kCallerFrameOffset
staticconstexprprivate

◆ kDirectCallOffset

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

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

◆ kFramePointerOffset

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

Definition at line 99 of file regexp-macro-assembler-ppc.h.

◆ kFrameTypeOffset

int v8::internal::RegExpMacroAssemblerPPC::kFrameTypeOffset
staticconstexprprivate

◆ kInputEndOffset

int v8::internal::RegExpMacroAssemblerPPC::kInputEndOffset
staticconstexprprivate

◆ kInputStartOffset

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

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

◆ kInputStringOffset

int v8::internal::RegExpMacroAssemblerPPC::kInputStringOffset
staticconstexprprivate

◆ kIsolateOffset

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

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

◆ kNumOutputRegistersOffset

int v8::internal::RegExpMacroAssemblerPPC::kNumOutputRegistersOffset
staticconstexprprivate

◆ kRegExpCodeSize

int v8::internal::RegExpMacroAssemblerPPC::kRegExpCodeSize = 1024
staticconstexprprivate

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

◆ kRegExpStackBasePointerOffset

int v8::internal::RegExpMacroAssemblerPPC::kRegExpStackBasePointerOffset
staticconstexprprivate

◆ kRegisterOutputOffset

int v8::internal::RegExpMacroAssemblerPPC::kRegisterOutputOffset
staticconstexprprivate

◆ kRegisterZeroOffset

int v8::internal::RegExpMacroAssemblerPPC::kRegisterZeroOffset
staticconstexprprivate

◆ kReturnAddressOffset

int v8::internal::RegExpMacroAssemblerPPC::kReturnAddressOffset
staticconstexprprivate
Initial value:

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

◆ kStartIndexOffset

int v8::internal::RegExpMacroAssemblerPPC::kStartIndexOffset
staticconstexprprivate

◆ kStoredRegistersOffset

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

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

◆ kStringStartMinusOneOffset

int v8::internal::RegExpMacroAssemblerPPC::kStringStartMinusOneOffset
staticconstexprprivate

◆ kSuccessfulCapturesOffset

int v8::internal::RegExpMacroAssemblerPPC::kSuccessfulCapturesOffset
staticconstexprprivate

◆ masm_

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

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

◆ mode_

const Mode v8::internal::RegExpMacroAssemblerPPC::mode_
private

Definition at line 222 of file regexp-macro-assembler-ppc.h.

◆ no_root_array_scope_

const NoRootArrayScope v8::internal::RegExpMacroAssemblerPPC::no_root_array_scope_
private

Definition at line 219 of file regexp-macro-assembler-ppc.h.

◆ num_registers_

int v8::internal::RegExpMacroAssemblerPPC::num_registers_
private

Definition at line 225 of file regexp-macro-assembler-ppc.h.

◆ num_saved_registers_

const int v8::internal::RegExpMacroAssemblerPPC::num_saved_registers_
private

Definition at line 229 of file regexp-macro-assembler-ppc.h.

◆ stack_overflow_label_

Label v8::internal::RegExpMacroAssemblerPPC::stack_overflow_label_
private

Definition at line 238 of file regexp-macro-assembler-ppc.h.

◆ start_label_

Label v8::internal::RegExpMacroAssemblerPPC::start_label_
private

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

◆ success_label_

Label v8::internal::RegExpMacroAssemblerPPC::success_label_
private

Definition at line 234 of file regexp-macro-assembler-ppc.h.


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