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

#include <regexp-compiler.h>

Collaboration diagram for v8::internal::Trace:

Classes

class  DeferredAction
 
class  DeferredCapture
 
class  DeferredClearCaptures
 
class  DeferredIncrementRegister
 
class  DeferredSetRegisterForLoop
 

Public Types

enum  TriBool { UNKNOWN = -1 , FALSE_VALUE = 0 , TRUE_VALUE = 1 }
 

Public Member Functions

 Trace ()
 
void Flush (RegExpCompiler *compiler, RegExpNode *successor)
 
int cp_offset ()
 
DeferredActionactions ()
 
bool is_trivial ()
 
TriBool at_start ()
 
void set_at_start (TriBool at_start)
 
Labelbacktrack ()
 
Labelloop_label ()
 
RegExpNodestop_node ()
 
int characters_preloaded ()
 
int bound_checked_up_to ()
 
int flush_budget ()
 
QuickCheckDetailsquick_check_performed ()
 
bool mentions_reg (int reg)
 
bool GetStoredPosition (int reg, int *cp_offset)
 
void add_action (DeferredAction *new_action)
 
void set_backtrack (Label *backtrack)
 
void set_stop_node (RegExpNode *node)
 
void set_loop_label (Label *label)
 
void set_characters_preloaded (int count)
 
void set_bound_checked_up_to (int to)
 
void set_flush_budget (int to)
 
void set_quick_check_performed (QuickCheckDetails *d)
 
void InvalidateCurrentCharacter ()
 
void AdvanceCurrentPositionInTrace (int by, RegExpCompiler *compiler)
 

Private Member Functions

int FindAffectedRegisters (DynamicBitSet *affected_registers, Zone *zone)
 
void PerformDeferredActions (RegExpMacroAssembler *macro, int max_register, const DynamicBitSet &affected_registers, DynamicBitSet *registers_to_pop, DynamicBitSet *registers_to_clear, Zone *zone)
 
void RestoreAffectedRegisters (RegExpMacroAssembler *macro, int max_register, const DynamicBitSet &registers_to_pop, const DynamicBitSet &registers_to_clear)
 

Private Attributes

int cp_offset_
 
DeferredActionactions_
 
Labelbacktrack_
 
RegExpNodestop_node_
 
Labelloop_label_
 
int characters_preloaded_
 
int bound_checked_up_to_
 
QuickCheckDetails quick_check_performed_
 
int flush_budget_
 
TriBool at_start_
 

Detailed Description

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

Member Enumeration Documentation

◆ TriBool

Enumerator
UNKNOWN 
FALSE_VALUE 
TRUE_VALUE 

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

Constructor & Destructor Documentation

◆ Trace()

v8::internal::Trace::Trace ( )
inline

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

Member Function Documentation

◆ actions()

DeferredAction * v8::internal::Trace::actions ( )
inline

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

Here is the caller graph for this function:

◆ add_action()

void v8::internal::Trace::add_action ( DeferredAction * new_action)
inline

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

Here is the caller graph for this function:

◆ AdvanceCurrentPositionInTrace()

void v8::internal::Trace::AdvanceCurrentPositionInTrace ( int by,
RegExpCompiler * compiler )

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

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

◆ at_start()

TriBool v8::internal::Trace::at_start ( )
inline

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

Here is the caller graph for this function:

◆ backtrack()

Label * v8::internal::Trace::backtrack ( )
inline

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

Here is the caller graph for this function:

◆ bound_checked_up_to()

int v8::internal::Trace::bound_checked_up_to ( )
inline

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

◆ characters_preloaded()

int v8::internal::Trace::characters_preloaded ( )
inline

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

Here is the caller graph for this function:

◆ cp_offset()

int v8::internal::Trace::cp_offset ( )
inline

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

Here is the caller graph for this function:

◆ FindAffectedRegisters()

int v8::internal::Trace::FindAffectedRegisters ( DynamicBitSet * affected_registers,
Zone * zone )
private

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

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

◆ Flush()

void v8::internal::Trace::Flush ( RegExpCompiler * compiler,
RegExpNode * successor )

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

Here is the call graph for this function:

◆ flush_budget()

int v8::internal::Trace::flush_budget ( )
inline

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

◆ GetStoredPosition()

bool v8::internal::Trace::GetStoredPosition ( int reg,
int * cp_offset )

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

Here is the call graph for this function:

◆ InvalidateCurrentCharacter()

void v8::internal::Trace::InvalidateCurrentCharacter ( )

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

Here is the caller graph for this function:

◆ is_trivial()

bool v8::internal::Trace::is_trivial ( )
inline

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

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

◆ loop_label()

Label * v8::internal::Trace::loop_label ( )
inline

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

◆ mentions_reg()

bool v8::internal::Trace::mentions_reg ( int reg)

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

Here is the call graph for this function:

◆ PerformDeferredActions()

void v8::internal::Trace::PerformDeferredActions ( RegExpMacroAssembler * macro,
int max_register,
const DynamicBitSet & affected_registers,
DynamicBitSet * registers_to_pop,
DynamicBitSet * registers_to_clear,
Zone * zone )
private

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

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

◆ quick_check_performed()

QuickCheckDetails * v8::internal::Trace::quick_check_performed ( )
inline

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

Here is the caller graph for this function:

◆ RestoreAffectedRegisters()

void v8::internal::Trace::RestoreAffectedRegisters ( RegExpMacroAssembler * macro,
int max_register,
const DynamicBitSet & registers_to_pop,
const DynamicBitSet & registers_to_clear )
private

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

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

◆ set_at_start()

void v8::internal::Trace::set_at_start ( TriBool at_start)
inline

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

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

◆ set_backtrack()

void v8::internal::Trace::set_backtrack ( Label * backtrack)
inline

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

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

◆ set_bound_checked_up_to()

void v8::internal::Trace::set_bound_checked_up_to ( int to)
inline

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

Here is the caller graph for this function:

◆ set_characters_preloaded()

void v8::internal::Trace::set_characters_preloaded ( int count)
inline

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

Here is the caller graph for this function:

◆ set_flush_budget()

void v8::internal::Trace::set_flush_budget ( int to)
inline

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

Here is the caller graph for this function:

◆ set_loop_label()

void v8::internal::Trace::set_loop_label ( Label * label)
inline

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

Here is the caller graph for this function:

◆ set_quick_check_performed()

void v8::internal::Trace::set_quick_check_performed ( QuickCheckDetails * d)
inline

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

Here is the caller graph for this function:

◆ set_stop_node()

void v8::internal::Trace::set_stop_node ( RegExpNode * node)
inline

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

Here is the caller graph for this function:

◆ stop_node()

RegExpNode * v8::internal::Trace::stop_node ( )
inline

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

Member Data Documentation

◆ actions_

DeferredAction* v8::internal::Trace::actions_
private

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

◆ at_start_

TriBool v8::internal::Trace::at_start_
private

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

◆ backtrack_

Label* v8::internal::Trace::backtrack_
private

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

◆ bound_checked_up_to_

int v8::internal::Trace::bound_checked_up_to_
private

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

◆ characters_preloaded_

int v8::internal::Trace::characters_preloaded_
private

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

◆ cp_offset_

int v8::internal::Trace::cp_offset_
private

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

◆ flush_budget_

int v8::internal::Trace::flush_budget_
private

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

◆ loop_label_

Label* v8::internal::Trace::loop_label_
private

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

◆ quick_check_performed_

QuickCheckDetails v8::internal::Trace::quick_check_performed_
private

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

◆ stop_node_

RegExpNode* v8::internal::Trace::stop_node_
private

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


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