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

#include <regexp-bytecode-generator.h>

Inheritance diagram for v8::internal::RegExpBytecodeGenerator:
Collaboration diagram for v8::internal::RegExpBytecodeGenerator:

Public Member Functions

 RegExpBytecodeGenerator (Isolate *isolate, Zone *zone)
 
 ~RegExpBytecodeGenerator () override
 
int stack_limit_slack_slot_count () override
 
bool CanReadUnaligned () const override
 
void Bind (Label *label) override
 
void AdvanceCurrentPosition (int by) override
 
void PopCurrentPosition () override
 
void PushCurrentPosition () override
 
void Backtrack () override
 
void GoTo (Label *label) override
 
void PushBacktrack (Label *label) override
 
bool Succeed () override
 
void Fail () override
 
void PopRegister (int register_index) override
 
void PushRegister (int register_index, StackCheckFlag check_stack_limit) override
 
void AdvanceRegister (int reg, int by) override
 
void SetCurrentPositionFromEnd (int by) override
 
void SetRegister (int register_index, int to) override
 
void WriteCurrentPositionToRegister (int reg, int cp_offset) override
 
void ClearRegisters (int reg_from, int reg_to) override
 
void ReadCurrentPositionFromRegister (int reg) override
 
void WriteStackPointerToRegister (int reg) override
 
void ReadStackPointerFromRegister (int reg) override
 
void LoadCurrentCharacterImpl (int cp_offset, Label *on_end_of_input, bool check_bounds, int characters, int eats_at_least) 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 CheckAtStart (int cp_offset, Label *on_at_start) override
 
void CheckNotAtStart (int cp_offset, Label *on_not_at_start) 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 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 IfRegisterLT (int register_index, int comparand, Label *if_lt) override
 
void IfRegisterGE (int register_index, int comparand, Label *if_ge) override
 
void IfRegisterEqPos (int register_index, Label *if_eq) override
 
IrregexpImplementation Implementation () override
 
DirectHandle< HeapObjectGetCode (DirectHandle< String > source, RegExpFlags flags) 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 CheckPosition (int cp_offset, Label *on_outside_input)
 
virtual bool CheckSpecialClassRanges (StandardCharacterSet type, Label *on_no_match)
 
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
 

Private Member Functions

void ExpandBuffer ()
 
void EmitOrLink (Label *label)
 
void Emit32 (uint32_t x)
 
void Emit16 (uint32_t x)
 
void Emit8 (uint32_t x)
 
void Emit (uint32_t bc, uint32_t arg)
 
void Emit (uint32_t bc, int32_t arg)
 
void EmitSkipTable (DirectHandle< ByteArray > table)
 
int length ()
 
void Copy (uint8_t *a)
 
 DISALLOW_IMPLICIT_CONSTRUCTORS (RegExpBytecodeGenerator)
 

Private Attributes

ZoneVector< uint8_t > buffer_
 
int pc_
 
Label backtrack_
 
int advance_current_start_
 
int advance_current_offset_
 
int advance_current_end_
 
ZoneUnorderedMap< int, int > jump_edges_
 
Isolateisolate_
 

Static Private Attributes

static constexpr int kInitialBufferSize = 1024
 
static const int kInvalidPC = -1
 

Additional Inherited Members

- 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 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)
 
- 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::RegExpMacroAssembler
bool has_backtrack_limit () const
 
uint32_t backtrack_limit () const
 
bool can_fallback () const
 

Detailed Description

Definition at line 16 of file regexp-bytecode-generator.h.

Constructor & Destructor Documentation

◆ RegExpBytecodeGenerator()

v8::internal::RegExpBytecodeGenerator::RegExpBytecodeGenerator ( Isolate * isolate,
Zone * zone )

Definition at line 17 of file regexp-bytecode-generator.cc.

◆ ~RegExpBytecodeGenerator()

v8::internal::RegExpBytecodeGenerator::~RegExpBytecodeGenerator ( )
override

Definition at line 25 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AdvanceCurrentPosition()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 166 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ AdvanceRegister()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 123 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ Backtrack()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 134 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Bind()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 34 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CanReadUnaligned()

bool v8::internal::RegExpBytecodeGenerator::CanReadUnaligned ( ) const
inlineoverridevirtual

Implements v8::internal::RegExpMacroAssembler.

Definition at line 30 of file regexp-bytecode-generator.h.

◆ CheckAtStart()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 244 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckBitInTable()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 327 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckCharacter()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 234 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckCharacterAfterAnd()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 266 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckCharacterGT()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 228 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckCharacterInRange()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 299 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckCharacterInRangeArray()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 72 of file regexp-bytecode-generator.h.

◆ CheckCharacterLT()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 222 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckCharacterNotInRange()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 308 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckCharacterNotInRangeArray()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 83 of file regexp-bytecode-generator.h.

◆ CheckGreedyLoop()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 177 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckNotAtStart()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 249 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckNotBackReference()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 346 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckNotBackReferenceIgnoreCase()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 356 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckNotCharacter()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 255 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckNotCharacterAfterAnd()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 278 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ CheckNotCharacterAfterMinusAnd()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 291 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ ClearRegisters()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 85 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ Copy()

void v8::internal::RegExpBytecodeGenerator::Copy ( uint8_t * a)
private

Definition at line 413 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DISALLOW_IMPLICIT_CONSTRUCTORS()

v8::internal::RegExpBytecodeGenerator::DISALLOW_IMPLICIT_CONSTRUCTORS ( RegExpBytecodeGenerator )
private

◆ Emit() [1/2]

void v8::internal::RegExpBytecodeGenerator::Emit ( uint32_t bc,
int32_t arg )
inlineprivate

Definition at line 21 of file regexp-bytecode-generator-inl.h.

Here is the call graph for this function:

◆ Emit() [2/2]

void v8::internal::RegExpBytecodeGenerator::Emit ( uint32_t bc,
uint32_t arg )
inlineprivate

Definition at line 16 of file regexp-bytecode-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Emit16()

void v8::internal::RegExpBytecodeGenerator::Emit16 ( uint32_t x)
inlineprivate

Definition at line 26 of file regexp-bytecode-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Emit32()

void v8::internal::RegExpBytecodeGenerator::Emit32 ( uint32_t x)
inlineprivate

Definition at line 44 of file regexp-bytecode-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Emit8()

void v8::internal::RegExpBytecodeGenerator::Emit8 ( uint32_t x)
inlineprivate

Definition at line 35 of file regexp-bytecode-generator-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EmitOrLink()

void v8::internal::RegExpBytecodeGenerator::EmitOrLink ( Label * label)
inlineprivate

Definition at line 49 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EmitSkipTable()

void v8::internal::RegExpBytecodeGenerator::EmitSkipTable ( DirectHandle< ByteArray > table)
private

Definition at line 317 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExpandBuffer()

void v8::internal::RegExpBytecodeGenerator::ExpandBuffer ( )
private

Definition at line 417 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fail()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 164 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ GetCode()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 394 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ GoTo()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 140 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ IfRegisterEqPos()

void v8::internal::RegExpBytecodeGenerator::IfRegisterEqPos ( int register_index,
Label * if_eq )
overridevirtual

Implements v8::internal::RegExpMacroAssembler.

Definition at line 386 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ IfRegisterGE()

void v8::internal::RegExpBytecodeGenerator::IfRegisterGE ( int register_index,
int comparand,
Label * if_ge )
overridevirtual

Implements v8::internal::RegExpMacroAssembler.

Definition at line 377 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ IfRegisterLT()

void v8::internal::RegExpBytecodeGenerator::IfRegisterLT ( int register_index,
int comparand,
Label * if_lt )
overridevirtual

Implements v8::internal::RegExpMacroAssembler.

Definition at line 368 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ Implementation()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 30 of file regexp-bytecode-generator.cc.

◆ length()

int v8::internal::RegExpBytecodeGenerator::length ( )
private

Definition at line 411 of file regexp-bytecode-generator.cc.

Here is the caller graph for this function:

◆ LoadCurrentCharacterImpl()

void v8::internal::RegExpBytecodeGenerator::LoadCurrentCharacterImpl ( int cp_offset,
Label * on_end_of_input,
bool check_bounds,
int characters,
int eats_at_least )
overridevirtual

Implements v8::internal::RegExpMacroAssembler.

Definition at line 183 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ PopCurrentPosition()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 130 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ PopRegister()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 64 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ PushBacktrack()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 154 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ PushCurrentPosition()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 132 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ PushRegister()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 70 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ ReadCurrentPositionFromRegister()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 92 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ ReadStackPointerFromRegister()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 105 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ SetCurrentPositionFromEnd()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 111 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ SetRegister()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 116 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SkipUntilBitInTable()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 334 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ stack_limit_slack_slot_count()

int v8::internal::RegExpBytecodeGenerator::stack_limit_slack_slot_count ( )
inlineoverridevirtual

Implements v8::internal::RegExpMacroAssembler.

Definition at line 29 of file regexp-bytecode-generator.h.

◆ Succeed()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 159 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ WriteCurrentPositionToRegister()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 77 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

◆ WriteStackPointerToRegister()

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

Implements v8::internal::RegExpMacroAssembler.

Definition at line 99 of file regexp-bytecode-generator.cc.

Here is the call graph for this function:

Member Data Documentation

◆ advance_current_end_

int v8::internal::RegExpBytecodeGenerator::advance_current_end_
private

Definition at line 129 of file regexp-bytecode-generator.h.

◆ advance_current_offset_

int v8::internal::RegExpBytecodeGenerator::advance_current_offset_
private

Definition at line 128 of file regexp-bytecode-generator.h.

◆ advance_current_start_

int v8::internal::RegExpBytecodeGenerator::advance_current_start_
private

Definition at line 127 of file regexp-bytecode-generator.h.

◆ backtrack_

Label v8::internal::RegExpBytecodeGenerator::backtrack_
private

Definition at line 125 of file regexp-bytecode-generator.h.

◆ buffer_

ZoneVector<uint8_t> v8::internal::RegExpBytecodeGenerator::buffer_
private

Definition at line 121 of file regexp-bytecode-generator.h.

◆ isolate_

Isolate* v8::internal::RegExpBytecodeGenerator::isolate_
private

Definition at line 137 of file regexp-bytecode-generator.h.

◆ jump_edges_

ZoneUnorderedMap<int, int> v8::internal::RegExpBytecodeGenerator::jump_edges_
private

Definition at line 135 of file regexp-bytecode-generator.h.

◆ kInitialBufferSize

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

Definition at line 120 of file regexp-bytecode-generator.h.

◆ kInvalidPC

const int v8::internal::RegExpBytecodeGenerator::kInvalidPC = -1
staticprivate

Definition at line 139 of file regexp-bytecode-generator.h.

◆ pc_

int v8::internal::RegExpBytecodeGenerator::pc_
private

Definition at line 124 of file regexp-bytecode-generator.h.


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