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

#include <regexp-stack.h>

Collaboration diagram for v8::internal::RegExpStack:

Classes

struct  ThreadLocal
 

Public Member Functions

 RegExpStack ()
 
 ~RegExpStack ()
 
 RegExpStack (const RegExpStack &)=delete
 
RegExpStackoperator= (const RegExpStack &)=delete
 
Address begin () const
 
Address end () const
 
Address memory_top () const
 
Address stack_pointer () const
 
size_t memory_size () const
 
Addresslimit_address_address ()
 
Address EnsureCapacity (size_t size)
 
char * ArchiveStack (char *to)
 
char * RestoreStack (char *from)
 
void FreeThreadResources ()
 

Static Public Member Functions

static constexpr int ArchiveSpacePerThread ()
 

Static Public Attributes

static constexpr int kSlotSize = kInt32Size
 
static constexpr int kStackLimitSlackSlotCount = 32
 
static constexpr int kStackLimitSlackSize
 
static constexpr size_t kMaximumStackSize = 64 * MB
 

Private Member Functions

Address memory_top_address_address ()
 
Address stack_pointer_address ()
 
ptrdiff_t sp_top_delta () const
 
void ResetIfEmpty ()
 
bool IsValid () const
 

Private Attributes

uint8_t static_stack_ [kStaticStackSize] = {0}
 
ThreadLocal thread_local_
 

Static Private Attributes

static const Address kMemoryTop
 
static constexpr size_t kStaticStackSize = 1 * KB
 
static constexpr size_t kMinimumDynamicStackSize = 2 * KB
 
static constexpr size_t kThreadLocalSize = sizeof(ThreadLocal)
 

Friends

class ExternalReference
 
class RegExpStackScope
 

Detailed Description

Definition at line 36 of file regexp-stack.h.

Constructor & Destructor Documentation

◆ RegExpStack() [1/2]

v8::internal::RegExpStack::RegExpStack ( )

Definition at line 24 of file regexp-stack.cc.

◆ ~RegExpStack()

v8::internal::RegExpStack::~RegExpStack ( )

Definition at line 26 of file regexp-stack.cc.

Here is the call graph for this function:

◆ RegExpStack() [2/2]

v8::internal::RegExpStack::RegExpStack ( const RegExpStack & )
delete

Member Function Documentation

◆ ArchiveSpacePerThread()

static constexpr int v8::internal::RegExpStack::ArchiveSpacePerThread ( )
inlinestaticconstexpr

Definition at line 83 of file regexp-stack.h.

Here is the caller graph for this function:

◆ ArchiveStack()

char * v8::internal::RegExpStack::ArchiveStack ( char * to)

Definition at line 28 of file regexp-stack.cc.

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

◆ begin()

Address v8::internal::RegExpStack::begin ( ) const
inline

Definition at line 54 of file regexp-stack.h.

◆ end()

Address v8::internal::RegExpStack::end ( ) const
inline

Definition at line 57 of file regexp-stack.h.

Here is the caller graph for this function:

◆ EnsureCapacity()

Address v8::internal::RegExpStack::EnsureCapacity ( size_t size)

Definition at line 73 of file regexp-stack.cc.

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

◆ FreeThreadResources()

void v8::internal::RegExpStack::FreeThreadResources ( )
inline

Definition at line 88 of file regexp-stack.h.

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

◆ IsValid()

bool v8::internal::RegExpStack::IsValid ( ) const
inlineprivate

Definition at line 162 of file regexp-stack.h.

Here is the caller graph for this function:

◆ limit_address_address()

Address * v8::internal::RegExpStack::limit_address_address ( )
inline

Definition at line 76 of file regexp-stack.h.

◆ memory_size()

size_t v8::internal::RegExpStack::memory_size ( ) const
inline

Definition at line 69 of file regexp-stack.h.

Here is the caller graph for this function:

◆ memory_top()

Address v8::internal::RegExpStack::memory_top ( ) const
inline

Definition at line 63 of file regexp-stack.h.

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

◆ memory_top_address_address()

Address v8::internal::RegExpStack::memory_top_address_address ( )
inlineprivate

Definition at line 140 of file regexp-stack.h.

◆ operator=()

RegExpStack & v8::internal::RegExpStack::operator= ( const RegExpStack & )
delete

◆ ResetIfEmpty()

void v8::internal::RegExpStack::ResetIfEmpty ( )
inlineprivate

Definition at line 159 of file regexp-stack.h.

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

◆ RestoreStack()

char * v8::internal::RegExpStack::RestoreStack ( char * from)

Definition at line 44 of file regexp-stack.cc.

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

◆ sp_top_delta()

ptrdiff_t v8::internal::RegExpStack::sp_top_delta ( ) const
inlineprivate

Definition at line 149 of file regexp-stack.h.

Here is the caller graph for this function:

◆ stack_pointer()

Address v8::internal::RegExpStack::stack_pointer ( ) const
inline

Definition at line 65 of file regexp-stack.h.

Here is the caller graph for this function:

◆ stack_pointer_address()

Address v8::internal::RegExpStack::stack_pointer_address ( )
inlineprivate

Definition at line 144 of file regexp-stack.h.

Friends And Related Symbol Documentation

◆ ExternalReference

friend class ExternalReference
friend

Definition at line 166 of file regexp-stack.h.

◆ RegExpStackScope

friend class RegExpStackScope
friend

Definition at line 167 of file regexp-stack.h.

Member Data Documentation

◆ kMaximumStackSize

size_t v8::internal::RegExpStack::kMaximumStackSize = 64 * MB
staticconstexpr

Definition at line 91 of file regexp-stack.h.

◆ kMemoryTop

const Address v8::internal::RegExpStack::kMemoryTop
staticprivate
Initial value:
=
static_cast<Address>(static_cast<uintptr_t>(-1))

Definition at line 95 of file regexp-stack.h.

◆ kMinimumDynamicStackSize

size_t v8::internal::RegExpStack::kMinimumDynamicStackSize = 2 * KB
staticconstexprprivate

Definition at line 111 of file regexp-stack.h.

◆ kSlotSize

int v8::internal::RegExpStack::kSlotSize = kInt32Size
staticconstexpr

Definition at line 46 of file regexp-stack.h.

◆ kStackLimitSlackSize

int v8::internal::RegExpStack::kStackLimitSlackSize
staticconstexpr
Initial value:
=
static constexpr int kStackLimitSlackSlotCount
static constexpr int kSlotSize

Definition at line 51 of file regexp-stack.h.

◆ kStackLimitSlackSlotCount

int v8::internal::RegExpStack::kStackLimitSlackSlotCount = 32
staticconstexpr

Definition at line 50 of file regexp-stack.h.

◆ kStaticStackSize

size_t v8::internal::RegExpStack::kStaticStackSize = 1 * KB
staticconstexprprivate

Definition at line 102 of file regexp-stack.h.

◆ kThreadLocalSize

size_t v8::internal::RegExpStack::kThreadLocalSize = sizeof(ThreadLocal)
staticconstexprprivate

Definition at line 138 of file regexp-stack.h.

◆ static_stack_

uint8_t v8::internal::RegExpStack::static_stack_[kStaticStackSize] = {0}
private

Definition at line 108 of file regexp-stack.h.

◆ thread_local_

ThreadLocal v8::internal::RegExpStack::thread_local_
private

Definition at line 164 of file regexp-stack.h.


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