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

#include <stacks.h>

Collaboration diagram for v8::internal::wasm::StackMemory:

Classes

class  StackSegment
 
struct  StackSwitchInfo
 

Public Member Functions

 ~StackMemory ()
 
voidjslimit () const
 
Address base () const
 
JumpBufferjmpbuf ()
 
bool Contains (Address addr)
 
int id ()
 
bool IsActive ()
 
void set_index (size_t index)
 
size_t index ()
 
size_t allocated_size ()
 
void FillWith (uint8_t value)
 
Address old_fp ()
 
bool Grow (Address current_fp)
 
Address Shrink ()
 
void ShrinkTo (Address stack_address)
 
void Reset ()
 
const StackSwitchInfostack_switch_info () const
 
void set_stack_switch_info (Address fp, Address sp)
 
void clear_stack_switch_info ()
 

Static Public Member Functions

static std::unique_ptr< StackMemoryNew ()
 
static StackMemoryGetCentralStackView (Isolate *isolate)
 
static constexpr uint32_t stack_switch_source_fp_offset ()
 
static constexpr uint32_t stack_switch_target_sp_offset ()
 
static constexpr uint32_t jmpbuf_offset ()
 

Static Public Attributes

static constexpr int kJSLimitOffsetKB = 40
 

Private Member Functions

 StackMemory ()
 
 StackMemory (uint8_t *limit, size_t size)
 

Private Attributes

uint8_t * limit_
 
size_t size_
 
bool owned_
 
JumpBuffer jmpbuf_
 
int id_
 
size_t index_
 
StackSwitchInfo stack_switch_info_
 
StackSegmentfirst_segment_ = nullptr
 
StackSegmentactive_segment_ = nullptr
 

Friends

class StackPool
 

Detailed Description

Definition at line 52 of file stacks.h.

Constructor & Destructor Documentation

◆ ~StackMemory()

v8::internal::wasm::StackMemory::~StackMemory ( )

Definition at line 19 of file stacks.cc.

Here is the call graph for this function:

◆ StackMemory() [1/2]

v8::internal::wasm::StackMemory::StackMemory ( )
private

Definition at line 36 of file stacks.cc.

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

◆ StackMemory() [2/2]

v8::internal::wasm::StackMemory::StackMemory ( uint8_t * limit,
size_t size )
private

Definition at line 60 of file stacks.cc.

Member Function Documentation

◆ allocated_size()

size_t v8::internal::wasm::StackMemory::allocated_size ( )
inline

Definition at line 100 of file stacks.h.

◆ base()

Address v8::internal::wasm::StackMemory::base ( ) const
inline

Definition at line 64 of file stacks.h.

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

◆ clear_stack_switch_info()

void v8::internal::wasm::StackMemory::clear_stack_switch_info ( )
inline

Definition at line 156 of file stacks.h.

Here is the caller graph for this function:

◆ Contains()

bool v8::internal::wasm::StackMemory::Contains ( Address addr)
inline

Definition at line 82 of file stacks.h.

Here is the call graph for this function:

◆ FillWith()

void v8::internal::wasm::StackMemory::FillWith ( uint8_t value)
inline

Definition at line 109 of file stacks.h.

◆ GetCentralStackView()

StackMemory * v8::internal::wasm::StackMemory::GetCentralStackView ( Isolate * isolate)
static

Definition at line 14 of file stacks.cc.

Here is the call graph for this function:

◆ Grow()

bool v8::internal::wasm::StackMemory::Grow ( Address current_fp)

Definition at line 85 of file stacks.cc.

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

◆ id()

int v8::internal::wasm::StackMemory::id ( )
inline

Definition at line 96 of file stacks.h.

◆ index()

size_t v8::internal::wasm::StackMemory::index ( )
inline

Definition at line 99 of file stacks.h.

Here is the caller graph for this function:

◆ IsActive()

bool v8::internal::wasm::StackMemory::IsActive ( )
inline

Definition at line 97 of file stacks.h.

Here is the caller graph for this function:

◆ jmpbuf()

JumpBuffer * v8::internal::wasm::StackMemory::jmpbuf ( )
inline

Definition at line 81 of file stacks.h.

Here is the caller graph for this function:

◆ jmpbuf_offset()

static constexpr uint32_t v8::internal::wasm::StackMemory::jmpbuf_offset ( )
inlinestaticconstexpr

Definition at line 176 of file stacks.h.

◆ jslimit()

void * v8::internal::wasm::StackMemory::jslimit ( ) const

Definition at line 31 of file stacks.cc.

Here is the caller graph for this function:

◆ New()

static std::unique_ptr< StackMemory > v8::internal::wasm::StackMemory::New ( )
inlinestatic

Definition at line 54 of file stacks.h.

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

◆ old_fp()

Address v8::internal::wasm::StackMemory::old_fp ( )
inline

Definition at line 116 of file stacks.h.

Here is the caller graph for this function:

◆ Reset()

void v8::internal::wasm::StackMemory::Reset ( )

Definition at line 145 of file stacks.cc.

◆ set_index()

void v8::internal::wasm::StackMemory::set_index ( size_t index)
inline

Definition at line 98 of file stacks.h.

Here is the call graph for this function:

◆ set_stack_switch_info()

void v8::internal::wasm::StackMemory::set_stack_switch_info ( Address fp,
Address sp )
inline

Definition at line 153 of file stacks.h.

◆ Shrink()

Address v8::internal::wasm::StackMemory::Shrink ( )

Definition at line 118 of file stacks.cc.

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

◆ ShrinkTo()

void v8::internal::wasm::StackMemory::ShrinkTo ( Address stack_address)

Definition at line 133 of file stacks.cc.

Here is the call graph for this function:

◆ stack_switch_info()

const StackSwitchInfo & v8::internal::wasm::StackMemory::stack_switch_info ( ) const
inline

Definition at line 150 of file stacks.h.

◆ stack_switch_source_fp_offset()

static constexpr uint32_t v8::internal::wasm::StackMemory::stack_switch_source_fp_offset ( )
inlinestaticconstexpr

Definition at line 168 of file stacks.h.

Here is the caller graph for this function:

◆ stack_switch_target_sp_offset()

static constexpr uint32_t v8::internal::wasm::StackMemory::stack_switch_target_sp_offset ( )
inlinestaticconstexpr

Definition at line 172 of file stacks.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ StackPool

friend class StackPool
friend

Definition at line 166 of file stacks.h.

Member Data Documentation

◆ active_segment_

StackSegment* v8::internal::wasm::StackMemory::active_segment_ = nullptr
private

Definition at line 199 of file stacks.h.

◆ first_segment_

StackSegment* v8::internal::wasm::StackMemory::first_segment_ = nullptr
private

Definition at line 198 of file stacks.h.

◆ id_

int v8::internal::wasm::StackMemory::id_
private

Definition at line 192 of file stacks.h.

◆ index_

size_t v8::internal::wasm::StackMemory::index_
private

Definition at line 196 of file stacks.h.

◆ jmpbuf_

JumpBuffer v8::internal::wasm::StackMemory::jmpbuf_
private

Definition at line 190 of file stacks.h.

◆ kJSLimitOffsetKB

int v8::internal::wasm::StackMemory::kJSLimitOffsetKB = 40
staticconstexpr

Definition at line 163 of file stacks.h.

◆ limit_

uint8_t* v8::internal::wasm::StackMemory::limit_
private

Definition at line 187 of file stacks.h.

◆ owned_

bool v8::internal::wasm::StackMemory::owned_
private

Definition at line 189 of file stacks.h.

◆ size_

size_t v8::internal::wasm::StackMemory::size_
private

Definition at line 188 of file stacks.h.

◆ stack_switch_info_

StackSwitchInfo v8::internal::wasm::StackMemory::stack_switch_info_
private

Definition at line 197 of file stacks.h.


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