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

#include <isolate-data.h>

Collaboration diagram for v8::internal::IsolateData:

Public Member Functions

 IsolateData (Isolate *isolate, IsolateGroup *group)
 
 IsolateData (const IsolateData &)=delete
 
IsolateDataoperator= (const IsolateData &)=delete
 
Address isolate_root () const
 
Address fast_c_call_caller_fp () const
 
Address fast_c_call_caller_pc () const
 
Address fast_api_call_target () const
 
Address cage_base () const
 
StackGuardstack_guard ()
 
int32_t * regexp_static_result_offsets_vector () const
 
void set_regexp_static_result_offsets_vector (int32_t *value)
 
Addressbuiltin_tier0_entry_table ()
 
Addressbuiltin_tier0_table ()
 
RootsTableroots ()
 
Address api_callback_thunk_argument () const
 
Address regexp_exec_vector_argument () const
 
Tagged< Objectcontinuation_preserved_embedder_data () const
 
void set_continuation_preserved_embedder_data (Tagged< Object > data)
 
const RootsTableroots () const
 
ExternalReferenceTableexternal_reference_table ()
 
ThreadLocalTopthread_local_top ()
 
ThreadLocalTop const & thread_local_top () const
 
Addressbuiltin_entry_table ()
 
Addressbuiltin_table ()
 
wasm::StackMemoryactive_stack ()
 
void set_active_stack (wasm::StackMemory *stack)
 
bool stack_is_iterable () const
 
bool is_marking () const
 
bool contains (Address address) const
 

Static Public Member Functions

static constexpr int root_slot_offset (RootIndex root_index)
 
static constexpr int BuiltinEntrySlotOffset (Builtin id)
 
static constexpr int builtin_slot_offset (int builtin_index)
 
static constexpr int BuiltinSlotOffset (Builtin id)
 
static constexpr int jslimit_offset ()
 
static constexpr int real_jslimit_offset ()
 
static constexpr int exception_offset ()
 
static constexpr intptr_t GetOffset (IsolateFieldId id)
 

Static Public Attributes

static constexpr intptr_t kIsolateRootBias = kRootRegisterBias
 

Private Member Functions

 FRIEND_TEST (HeapTest, ExternalLimitDefault)
 
 FRIEND_TEST (HeapTest, ExternalLimitStaysAboveDefaultForExplicitHandling)
 

Static Private Member Functions

static V8_INLINE void AssertPredictableLayout ()
 

Private Attributes

const Address cage_base_ = kNullAddress
 
StackGuard stack_guard_
 
uint8_t is_marking_flag_ = false
 
uint8_t is_minor_marking_flag_ = false
 
uint8_t is_shared_space_isolate_flag_ = false
 
uint8_t uses_shared_heap_flag_ = false
 
base::Flags< IsolateExecutionModeFlag, uint8_t, std::atomic< uint8_t > > execution_mode_ = {IsolateExecutionModeFlag::kNoFlags}
 
uint8_t stack_is_iterable_ = 1
 
uint8_t error_message_param_
 
uint8_t tables_alignment_padding_ [FIELD_SIZE(kTablesAlignmentPaddingOffset)]
 
int32_t * regexp_static_result_offsets_vector_ = nullptr
 
Address builtin_tier0_entry_table_ [Builtins::kBuiltinTier0Count] = {}
 
Address builtin_tier0_table_ [Builtins::kBuiltinTier0Count] = {}
 
LinearAllocationArea new_allocation_info_
 
LinearAllocationArea old_allocation_info_
 
Address fast_c_call_alignment_padding_ [kFastCCallAlignmentPaddingCount]
 
struct { 
 
   Address   fast_c_call_caller_pc_ = kNullAddress 
 
   Address   fast_c_call_caller_fp_ = kNullAddress 
 
};  
 
Address fast_api_call_target_ = kNullAddress
 
size_t long_task_stats_counter_ = 0
 
ThreadLocalTop thread_local_top_
 
HandleScopeData handle_scope_data_
 
void * embedder_data_ [Internals::kNumIsolateDataSlots] = {}
 
Address api_callback_thunk_argument_ = kNullAddress
 
Address regexp_exec_vector_argument_ = kNullAddress
 
Tagged< Objectcontinuation_preserved_embedder_data_ = Smi::zero()
 
RootsTable roots_table_
 
ExternalReferenceTable external_reference_table_
 
Address builtin_entry_table_ [Builtins::kBuiltinCount] = {}
 
Address builtin_table_ [Builtins::kBuiltinCount] = {}
 
wasm::StackMemoryactive_stack_ = nullptr
 
char padding_ [kPaddingOffsetEnd+1 - kPaddingOffset]
 

Friends

class Isolate
 
class Heap
 

Detailed Description

Definition at line 226 of file isolate-data.h.

Constructor & Destructor Documentation

◆ IsolateData() [1/2]

v8::internal::IsolateData::IsolateData ( Isolate * isolate,
IsolateGroup * group )
inline

Definition at line 228 of file isolate-data.h.

Here is the caller graph for this function:

◆ IsolateData() [2/2]

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

Member Function Documentation

◆ active_stack()

wasm::StackMemory * v8::internal::IsolateData::active_stack ( )
inline

Definition at line 335 of file isolate-data.h.

Here is the caller graph for this function:

◆ api_callback_thunk_argument()

Address v8::internal::IsolateData::api_callback_thunk_argument ( ) const
inline

Definition at line 315 of file isolate-data.h.

◆ AssertPredictableLayout()

void v8::internal::IsolateData::AssertPredictableLayout ( )
staticprivate

Definition at line 564 of file isolate-data.h.

Here is the call graph for this function:

◆ builtin_entry_table()

Address * v8::internal::IsolateData::builtin_entry_table ( )
inline

Definition at line 333 of file isolate-data.h.

Here is the caller graph for this function:

◆ builtin_slot_offset()

static constexpr int v8::internal::IsolateData::builtin_slot_offset ( int builtin_index)
inlinestaticconstexpr

Definition at line 273 of file isolate-data.h.

Here is the call graph for this function:

◆ builtin_table()

Address * v8::internal::IsolateData::builtin_table ( )
inline

Definition at line 334 of file isolate-data.h.

Here is the caller graph for this function:

◆ builtin_tier0_entry_table()

Address * v8::internal::IsolateData::builtin_tier0_entry_table ( )
inline

Definition at line 312 of file isolate-data.h.

Here is the caller graph for this function:

◆ builtin_tier0_table()

Address * v8::internal::IsolateData::builtin_tier0_table ( )
inline

Definition at line 313 of file isolate-data.h.

Here is the caller graph for this function:

◆ BuiltinEntrySlotOffset()

static constexpr int v8::internal::IsolateData::BuiltinEntrySlotOffset ( Builtin id)
inlinestaticconstexpr

Definition at line 266 of file isolate-data.h.

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

◆ BuiltinSlotOffset()

static constexpr int v8::internal::IsolateData::BuiltinSlotOffset ( Builtin id)
inlinestaticconstexpr

Definition at line 276 of file isolate-data.h.

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

◆ cage_base()

Address v8::internal::IsolateData::cage_base ( ) const
inline

Definition at line 304 of file isolate-data.h.

◆ contains()

bool v8::internal::IsolateData::contains ( Address address) const
inline

Definition at line 353 of file isolate-data.h.

◆ continuation_preserved_embedder_data()

Tagged< Object > v8::internal::IsolateData::continuation_preserved_embedder_data ( ) const
inline

Definition at line 321 of file isolate-data.h.

◆ exception_offset()

static constexpr int v8::internal::IsolateData::exception_offset ( )
inlinestaticconstexpr

Definition at line 299 of file isolate-data.h.

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

◆ external_reference_table()

ExternalReferenceTable * v8::internal::IsolateData::external_reference_table ( )
inline

Definition at line 328 of file isolate-data.h.

Here is the caller graph for this function:

◆ fast_api_call_target()

Address v8::internal::IsolateData::fast_api_call_target ( ) const
inline

Definition at line 297 of file isolate-data.h.

Here is the caller graph for this function:

◆ fast_c_call_caller_fp()

Address v8::internal::IsolateData::fast_c_call_caller_fp ( ) const
inline

Definition at line 295 of file isolate-data.h.

Here is the caller graph for this function:

◆ fast_c_call_caller_pc()

Address v8::internal::IsolateData::fast_c_call_caller_pc ( ) const
inline

Definition at line 296 of file isolate-data.h.

◆ FRIEND_TEST() [1/2]

v8::internal::IsolateData::FRIEND_TEST ( HeapTest ,
ExternalLimitDefault  )
private

◆ FRIEND_TEST() [2/2]

v8::internal::IsolateData::FRIEND_TEST ( HeapTest ,
ExternalLimitStaysAboveDefaultForExplicitHandling  )
private

◆ GetOffset()

static constexpr intptr_t v8::internal::IsolateData::GetOffset ( IsolateFieldId id)
inlinestaticconstexpr

Definition at line 371 of file isolate-data.h.

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

◆ is_marking()

bool v8::internal::IsolateData::is_marking ( ) const
inline

Definition at line 348 of file isolate-data.h.

◆ isolate_root()

Address v8::internal::IsolateData::isolate_root ( ) const
inline

Definition at line 249 of file isolate-data.h.

◆ jslimit_offset()

static constexpr int v8::internal::IsolateData::jslimit_offset ( )
inlinestaticconstexpr

Definition at line 282 of file isolate-data.h.

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

◆ operator=()

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

◆ real_jslimit_offset()

static constexpr int v8::internal::IsolateData::real_jslimit_offset ( )
inlinestaticconstexpr

Definition at line 286 of file isolate-data.h.

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

◆ regexp_exec_vector_argument()

Address v8::internal::IsolateData::regexp_exec_vector_argument ( ) const
inline

Definition at line 318 of file isolate-data.h.

◆ regexp_static_result_offsets_vector()

int32_t * v8::internal::IsolateData::regexp_static_result_offsets_vector ( ) const
inline

Definition at line 306 of file isolate-data.h.

◆ root_slot_offset()

static constexpr int v8::internal::IsolateData::root_slot_offset ( RootIndex root_index)
inlinestaticconstexpr

Definition at line 262 of file isolate-data.h.

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

◆ roots() [1/2]

RootsTable & v8::internal::IsolateData::roots ( )
inline

Definition at line 314 of file isolate-data.h.

◆ roots() [2/2]

const RootsTable & v8::internal::IsolateData::roots ( ) const
inline

Definition at line 327 of file isolate-data.h.

◆ set_active_stack()

void v8::internal::IsolateData::set_active_stack ( wasm::StackMemory * stack)
inline

Definition at line 336 of file isolate-data.h.

Here is the caller graph for this function:

◆ set_continuation_preserved_embedder_data()

void v8::internal::IsolateData::set_continuation_preserved_embedder_data ( Tagged< Object > data)
inline

Definition at line 324 of file isolate-data.h.

◆ set_regexp_static_result_offsets_vector()

void v8::internal::IsolateData::set_regexp_static_result_offsets_vector ( int32_t * value)
inline

Definition at line 309 of file isolate-data.h.

◆ stack_guard()

StackGuard * v8::internal::IsolateData::stack_guard ( )
inline

Definition at line 305 of file isolate-data.h.

◆ stack_is_iterable()

bool v8::internal::IsolateData::stack_is_iterable ( ) const
inline

Definition at line 344 of file isolate-data.h.

◆ thread_local_top() [1/2]

ThreadLocalTop & v8::internal::IsolateData::thread_local_top ( )
inline

Definition at line 331 of file isolate-data.h.

◆ thread_local_top() [2/2]

ThreadLocalTop const & v8::internal::IsolateData::thread_local_top ( ) const
inline

Definition at line 332 of file isolate-data.h.

Friends And Related Symbol Documentation

◆ Heap

friend class Heap
friend

Definition at line 555 of file isolate-data.h.

◆ Isolate

friend class Isolate
friend

Definition at line 554 of file isolate-data.h.

Member Data Documentation

◆ [struct]

struct { ... } v8::internal::IsolateData

◆ active_stack_

wasm::StackMemory* v8::internal::IsolateData::active_stack_ = nullptr
private

Definition at line 534 of file isolate-data.h.

◆ api_callback_thunk_argument_

Address v8::internal::IsolateData::api_callback_thunk_argument_ = kNullAddress
private

Definition at line 512 of file isolate-data.h.

◆ builtin_entry_table_

Address v8::internal::IsolateData::builtin_entry_table_[Builtins::kBuiltinCount] = {}
private

Definition at line 529 of file isolate-data.h.

◆ builtin_table_

Address v8::internal::IsolateData::builtin_table_[Builtins::kBuiltinCount] = {}
private

Definition at line 532 of file isolate-data.h.

◆ builtin_tier0_entry_table_

Address v8::internal::IsolateData::builtin_tier0_entry_table_[Builtins::kBuiltinTier0Count] = {}
private

Definition at line 455 of file isolate-data.h.

◆ builtin_tier0_table_

Address v8::internal::IsolateData::builtin_tier0_table_[Builtins::kBuiltinTier0Count] = {}
private

Definition at line 456 of file isolate-data.h.

◆ cage_base_

const Address v8::internal::IsolateData::cage_base_ = kNullAddress
private

Definition at line 408 of file isolate-data.h.

◆ continuation_preserved_embedder_data_

Tagged<Object> v8::internal::IsolateData::continuation_preserved_embedder_data_ = Smi::zero()
private

Definition at line 520 of file isolate-data.h.

◆ embedder_data_

void* v8::internal::IsolateData::embedder_data_[Internals::kNumIsolateDataSlots] = {}
private

Definition at line 491 of file isolate-data.h.

◆ error_message_param_

uint8_t v8::internal::IsolateData::error_message_param_
private

Definition at line 443 of file isolate-data.h.

◆ execution_mode_

base::Flags<IsolateExecutionModeFlag, uint8_t, std::atomic<uint8_t> > v8::internal::IsolateData::execution_mode_ = {IsolateExecutionModeFlag::kNoFlags}
private

Definition at line 428 of file isolate-data.h.

◆ external_reference_table_

ExternalReferenceTable v8::internal::IsolateData::external_reference_table_
private

Definition at line 523 of file isolate-data.h.

◆ fast_api_call_target_

Address v8::internal::IsolateData::fast_api_call_target_ = kNullAddress
private

Definition at line 478 of file isolate-data.h.

◆ fast_c_call_alignment_padding_

Address v8::internal::IsolateData::fast_c_call_alignment_padding_[kFastCCallAlignmentPaddingCount]
private

Definition at line 462 of file isolate-data.h.

◆ fast_c_call_caller_fp_

Address v8::internal::IsolateData::fast_c_call_caller_fp_ = kNullAddress

Definition at line 474 of file isolate-data.h.

◆ fast_c_call_caller_pc_

Address v8::internal::IsolateData::fast_c_call_caller_pc_ = kNullAddress

Definition at line 473 of file isolate-data.h.

◆ handle_scope_data_

HandleScopeData v8::internal::IsolateData::handle_scope_data_
private

Definition at line 485 of file isolate-data.h.

◆ is_marking_flag_

uint8_t v8::internal::IsolateData::is_marking_flag_ = false
private

Definition at line 420 of file isolate-data.h.

◆ is_minor_marking_flag_

uint8_t v8::internal::IsolateData::is_minor_marking_flag_ = false
private

Definition at line 421 of file isolate-data.h.

◆ is_shared_space_isolate_flag_

uint8_t v8::internal::IsolateData::is_shared_space_isolate_flag_ = false
private

Definition at line 422 of file isolate-data.h.

◆ kIsolateRootBias

intptr_t v8::internal::IsolateData::kIsolateRootBias = kRootRegisterBias
staticconstexpr

Definition at line 246 of file isolate-data.h.

◆ long_task_stats_counter_

size_t v8::internal::IsolateData::long_task_stats_counter_ = 0
private

Definition at line 482 of file isolate-data.h.

◆ new_allocation_info_

LinearAllocationArea v8::internal::IsolateData::new_allocation_info_
private

Definition at line 458 of file isolate-data.h.

◆ old_allocation_info_

LinearAllocationArea v8::internal::IsolateData::old_allocation_info_
private

Definition at line 459 of file isolate-data.h.

◆ padding_

char v8::internal::IsolateData::padding_[kPaddingOffsetEnd+1 - kPaddingOffset]
private

Definition at line 550 of file isolate-data.h.

◆ regexp_exec_vector_argument_

Address v8::internal::IsolateData::regexp_exec_vector_argument_ = kNullAddress
private

Definition at line 517 of file isolate-data.h.

◆ regexp_static_result_offsets_vector_

int32_t* v8::internal::IsolateData::regexp_static_result_offsets_vector_ = nullptr
private

Definition at line 452 of file isolate-data.h.

◆ roots_table_

RootsTable v8::internal::IsolateData::roots_table_
private

Definition at line 522 of file isolate-data.h.

◆ stack_guard_

StackGuard v8::internal::IsolateData::stack_guard_
private

Definition at line 412 of file isolate-data.h.

◆ stack_is_iterable_

uint8_t v8::internal::IsolateData::stack_is_iterable_ = 1
private

Definition at line 438 of file isolate-data.h.

◆ tables_alignment_padding_

uint8_t v8::internal::IsolateData::tables_alignment_padding_[FIELD_SIZE(kTablesAlignmentPaddingOffset)]
private

Definition at line 447 of file isolate-data.h.

◆ thread_local_top_

ThreadLocalTop v8::internal::IsolateData::thread_local_top_
private

Definition at line 484 of file isolate-data.h.

◆ uses_shared_heap_flag_

uint8_t v8::internal::IsolateData::uses_shared_heap_flag_ = false
private

Definition at line 423 of file isolate-data.h.


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