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

#include <regexp-compiler.h>

Collaboration diagram for v8::internal::RegExpCompiler:

Classes

struct  CompilationResult
 

Public Member Functions

 RegExpCompiler (Isolate *isolate, Zone *zone, int capture_count, RegExpFlags flags, bool is_one_byte)
 
int AllocateRegister ()
 
int UnicodeLookaroundStackRegister ()
 
int UnicodeLookaroundPositionRegister ()
 
CompilationResult Assemble (Isolate *isolate, RegExpMacroAssembler *assembler, RegExpNode *start, int capture_count, DirectHandle< String > pattern)
 
RegExpNodePreprocessRegExp (RegExpCompileData *data, bool is_one_byte)
 
RegExpNodeOptionallyStepBackToLeadSurrogate (RegExpNode *on_success)
 
void AddWork (RegExpNode *node)
 
RegExpMacroAssemblermacro_assembler ()
 
EndNodeaccept ()
 
int recursion_depth ()
 
void IncrementRecursionDepth ()
 
void DecrementRecursionDepth ()
 
RegExpFlags flags () const
 
void set_flags (RegExpFlags flags)
 
void SetRegExpTooBig ()
 
bool one_byte ()
 
bool optimize ()
 
void set_optimize (bool value)
 
bool limiting_recursion ()
 
void set_limiting_recursion (bool value)
 
bool read_backward ()
 
void set_read_backward (bool value)
 
FrequencyCollatorfrequency_collator ()
 
int current_expansion_factor ()
 
void set_current_expansion_factor (int value)
 
void ToNodeMaybeCheckForStackOverflow ()
 
void ToNodeCheckForStackOverflow ()
 
Isolateisolate () const
 
Zonezone () const
 

Static Public Attributes

static const int kImplementationOffset = 0
 
static const int kNumberOfRegistersOffset = 0
 
static const int kCodeOffset = 1
 
static const int kMaxRecursion = 100
 
static const int kNoRegister = -1
 

Private Attributes

EndNodeaccept_
 
int next_register_
 
int unicode_lookaround_stack_register_
 
int unicode_lookaround_position_register_
 
ZoneVector< RegExpNode * > * work_list_
 
int recursion_depth_
 
RegExpFlags flags_
 
RegExpMacroAssemblermacro_assembler_
 
bool one_byte_
 
bool reg_exp_too_big_
 
bool limiting_recursion_
 
int to_node_overflow_check_ticks_ = 0
 
bool optimize_
 
bool read_backward_
 
int current_expansion_factor_
 
FrequencyCollator frequency_collator_
 
Isolateisolate_
 
Zonezone_
 

Detailed Description

Definition at line 454 of file regexp-compiler.h.

Constructor & Destructor Documentation

◆ RegExpCompiler()

v8::internal::RegExpCompiler::RegExpCompiler ( Isolate * isolate,
Zone * zone,
int capture_count,
RegExpFlags flags,
bool is_one_byte )

Definition at line 241 of file regexp-compiler.cc.

Here is the call graph for this function:

Member Function Documentation

◆ accept()

EndNode * v8::internal::RegExpCompiler::accept ( )
inline

Definition at line 527 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ AddWork()

void v8::internal::RegExpCompiler::AddWork ( RegExpNode * node)
inline

Definition at line 515 of file regexp-compiler.h.

◆ AllocateRegister()

int v8::internal::RegExpCompiler::AllocateRegister ( )
inline

Definition at line 459 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ Assemble()

RegExpCompiler::CompilationResult v8::internal::RegExpCompiler::Assemble ( Isolate * isolate,
RegExpMacroAssembler * assembler,
RegExpNode * start,
int capture_count,
DirectHandle< String > pattern )

Definition at line 262 of file regexp-compiler.cc.

Here is the call graph for this function:

◆ current_expansion_factor()

int v8::internal::RegExpCompiler::current_expansion_factor ( )
inline

Definition at line 550 of file regexp-compiler.h.

◆ DecrementRecursionDepth()

void v8::internal::RegExpCompiler::DecrementRecursionDepth ( )
inline

Definition at line 532 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ flags()

RegExpFlags v8::internal::RegExpCompiler::flags ( ) const
inline

Definition at line 534 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ frequency_collator()

FrequencyCollator * v8::internal::RegExpCompiler::frequency_collator ( )
inline

Definition at line 548 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ IncrementRecursionDepth()

void v8::internal::RegExpCompiler::IncrementRecursionDepth ( )
inline

Definition at line 531 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::RegExpCompiler::isolate ( ) const
inline

Definition at line 567 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ limiting_recursion()

bool v8::internal::RegExpCompiler::limiting_recursion ( )
inline

Definition at line 542 of file regexp-compiler.h.

◆ macro_assembler()

RegExpMacroAssembler * v8::internal::RegExpCompiler::macro_assembler ( )
inline

Definition at line 526 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ one_byte()

bool v8::internal::RegExpCompiler::one_byte ( )
inline

Definition at line 539 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ optimize()

bool v8::internal::RegExpCompiler::optimize ( )
inline

Definition at line 540 of file regexp-compiler.h.

◆ OptionallyStepBackToLeadSurrogate()

RegExpNode * v8::internal::RegExpCompiler::OptionallyStepBackToLeadSurrogate ( RegExpNode * on_success)

Definition at line 4028 of file regexp-compiler.cc.

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

◆ PreprocessRegExp()

RegExpNode * v8::internal::RegExpCompiler::PreprocessRegExp ( RegExpCompileData * data,
bool is_one_byte )

Definition at line 4054 of file regexp-compiler.cc.

Here is the call graph for this function:

◆ read_backward()

bool v8::internal::RegExpCompiler::read_backward ( )
inline

Definition at line 546 of file regexp-compiler.h.

Here is the caller graph for this function:

◆ recursion_depth()

int v8::internal::RegExpCompiler::recursion_depth ( )
inline

Definition at line 530 of file regexp-compiler.h.

◆ set_current_expansion_factor()

void v8::internal::RegExpCompiler::set_current_expansion_factor ( int value)
inline

Definition at line 551 of file regexp-compiler.h.

◆ set_flags()

void v8::internal::RegExpCompiler::set_flags ( RegExpFlags flags)
inline

Definition at line 535 of file regexp-compiler.h.

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

◆ set_limiting_recursion()

void v8::internal::RegExpCompiler::set_limiting_recursion ( bool value)
inline

Definition at line 543 of file regexp-compiler.h.

◆ set_optimize()

void v8::internal::RegExpCompiler::set_optimize ( bool value)
inline

Definition at line 541 of file regexp-compiler.h.

◆ set_read_backward()

void v8::internal::RegExpCompiler::set_read_backward ( bool value)
inline

Definition at line 547 of file regexp-compiler.h.

◆ SetRegExpTooBig()

void v8::internal::RegExpCompiler::SetRegExpTooBig ( )
inline

Definition at line 537 of file regexp-compiler.h.

◆ ToNodeCheckForStackOverflow()

void v8::internal::RegExpCompiler::ToNodeCheckForStackOverflow ( )

Definition at line 4102 of file regexp-compiler.cc.

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

◆ ToNodeMaybeCheckForStackOverflow()

void v8::internal::RegExpCompiler::ToNodeMaybeCheckForStackOverflow ( )
inline

Definition at line 560 of file regexp-compiler.h.

Here is the call graph for this function:

◆ UnicodeLookaroundPositionRegister()

int v8::internal::RegExpCompiler::UnicodeLookaroundPositionRegister ( )
inline

Definition at line 476 of file regexp-compiler.h.

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

◆ UnicodeLookaroundStackRegister()

int v8::internal::RegExpCompiler::UnicodeLookaroundStackRegister ( )
inline

Definition at line 469 of file regexp-compiler.h.

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

◆ zone()

Zone * v8::internal::RegExpCompiler::zone ( ) const
inline

Definition at line 568 of file regexp-compiler.h.

Here is the caller graph for this function:

Member Data Documentation

◆ accept_

EndNode* v8::internal::RegExpCompiler::accept_
private

Definition at line 573 of file regexp-compiler.h.

◆ current_expansion_factor_

int v8::internal::RegExpCompiler::current_expansion_factor_
private

Definition at line 587 of file regexp-compiler.h.

◆ flags_

RegExpFlags v8::internal::RegExpCompiler::flags_
private

Definition at line 579 of file regexp-compiler.h.

◆ frequency_collator_

FrequencyCollator v8::internal::RegExpCompiler::frequency_collator_
private

Definition at line 588 of file regexp-compiler.h.

◆ isolate_

Isolate* v8::internal::RegExpCompiler::isolate_
private

Definition at line 589 of file regexp-compiler.h.

◆ kCodeOffset

const int v8::internal::RegExpCompiler::kCodeOffset = 1
static

Definition at line 524 of file regexp-compiler.h.

◆ kImplementationOffset

const int v8::internal::RegExpCompiler::kImplementationOffset = 0
static

Definition at line 522 of file regexp-compiler.h.

◆ kMaxRecursion

const int v8::internal::RegExpCompiler::kMaxRecursion = 100
static

Definition at line 529 of file regexp-compiler.h.

◆ kNoRegister

const int v8::internal::RegExpCompiler::kNoRegister = -1
static

Definition at line 570 of file regexp-compiler.h.

◆ kNumberOfRegistersOffset

const int v8::internal::RegExpCompiler::kNumberOfRegistersOffset = 0
static

Definition at line 523 of file regexp-compiler.h.

◆ limiting_recursion_

bool v8::internal::RegExpCompiler::limiting_recursion_
private

Definition at line 583 of file regexp-compiler.h.

◆ macro_assembler_

RegExpMacroAssembler* v8::internal::RegExpCompiler::macro_assembler_
private

Definition at line 580 of file regexp-compiler.h.

◆ next_register_

int v8::internal::RegExpCompiler::next_register_
private

Definition at line 574 of file regexp-compiler.h.

◆ one_byte_

bool v8::internal::RegExpCompiler::one_byte_
private

Definition at line 581 of file regexp-compiler.h.

◆ optimize_

bool v8::internal::RegExpCompiler::optimize_
private

Definition at line 585 of file regexp-compiler.h.

◆ read_backward_

bool v8::internal::RegExpCompiler::read_backward_
private

Definition at line 586 of file regexp-compiler.h.

◆ recursion_depth_

int v8::internal::RegExpCompiler::recursion_depth_
private

Definition at line 578 of file regexp-compiler.h.

◆ reg_exp_too_big_

bool v8::internal::RegExpCompiler::reg_exp_too_big_
private

Definition at line 582 of file regexp-compiler.h.

◆ to_node_overflow_check_ticks_

int v8::internal::RegExpCompiler::to_node_overflow_check_ticks_ = 0
private

Definition at line 584 of file regexp-compiler.h.

◆ unicode_lookaround_position_register_

int v8::internal::RegExpCompiler::unicode_lookaround_position_register_
private

Definition at line 576 of file regexp-compiler.h.

◆ unicode_lookaround_stack_register_

int v8::internal::RegExpCompiler::unicode_lookaround_stack_register_
private

Definition at line 575 of file regexp-compiler.h.

◆ work_list_

ZoneVector<RegExpNode*>* v8::internal::RegExpCompiler::work_list_
private

Definition at line 577 of file regexp-compiler.h.

◆ zone_

Zone* v8::internal::RegExpCompiler::zone_
private

Definition at line 590 of file regexp-compiler.h.


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