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

#include <roots.h>

Collaboration diagram for v8::internal::RootsTable:

Public Member Functions

 RootsTable ()
 
bool IsRootHandleLocation (Address *handle_location, RootIndex *index) const
 
template<typename T >
bool IsRootHandle (IndirectHandle< T > handle, RootIndex *index) const
 
IndirectHandle< HeapNumberFindHeapNumber (double value)
 
V8_INLINE IndirectHandle< Objecthandle_at (RootIndex root_index)
 
Address const & operator[] (RootIndex root_index) const
 
FullObjectSlot slot (RootIndex root_index)
 

Static Public Member Functions

static const char * name (RootIndex root_index)
 
static constexpr int offset_of (RootIndex root_index)
 
static constexpr bool IsImmortalImmovable (RootIndex root_index)
 
static constexpr bool IsReadOnly (RootIndex root_index)
 
static constexpr RootIndex SingleCharacterStringIndex (int c)
 

Static Public Attributes

static constexpr size_t kEntriesCount
 

Private Member Functions

FullObjectSlot begin ()
 
FullObjectSlot end ()
 
FullObjectSlot strong_or_read_only_roots_begin () const
 
FullObjectSlot strong_or_read_only_roots_end () const
 
FullObjectSlot read_only_roots_begin () const
 
FullObjectSlot read_only_roots_end () const
 
FullObjectSlot strong_roots_begin () const
 
FullObjectSlot strong_roots_end () const
 
FullObjectSlot smi_roots_begin () const
 
FullObjectSlot smi_roots_end () const
 
Addressoperator[] (RootIndex root_index)
 

Private Attributes

Address roots_ [kEntriesCount]
 

Static Private Attributes

static const char * root_names_ [kEntriesCount]
 

Friends

class Isolate
 
class Heap
 
class Factory
 
class FactoryBase< Factory >
 
class FactoryBase< LocalFactory >
 
class ReadOnlyHeap
 
class ReadOnlyRoots
 
class RootsSerializer
 

Detailed Description

Definition at line 564 of file roots.h.

Constructor & Destructor Documentation

◆ RootsTable()

v8::internal::RootsTable::RootsTable ( )
inline

Definition at line 569 of file roots.h.

Member Function Documentation

◆ begin()

FullObjectSlot v8::internal::RootsTable::begin ( )
inlineprivate

Definition at line 639 of file roots.h.

Here is the caller graph for this function:

◆ end()

FullObjectSlot v8::internal::RootsTable::end ( )
inlineprivate

Definition at line 642 of file roots.h.

◆ FindHeapNumber()

IndirectHandle< HeapNumber > v8::internal::RootsTable::FindHeapNumber ( double value)

Definition at line 38 of file roots.cc.

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

◆ handle_at()

IndirectHandle< Object > v8::internal::RootsTable::handle_at ( RootIndex root_index)

Definition at line 82 of file roots-inl.h.

◆ IsImmortalImmovable()

static constexpr bool v8::internal::RootsTable::IsImmortalImmovable ( RootIndex root_index)
inlinestaticconstexpr

Definition at line 616 of file roots.h.

Here is the caller graph for this function:

◆ IsReadOnly()

static constexpr bool v8::internal::RootsTable::IsReadOnly ( RootIndex root_index)
inlinestaticconstexpr

Definition at line 623 of file roots.h.

Here is the caller graph for this function:

◆ IsRootHandle()

template<typename T >
bool v8::internal::RootsTable::IsRootHandle ( IndirectHandle< T > handle,
RootIndex * index ) const

Definition at line 65 of file roots-inl.h.

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

◆ IsRootHandleLocation()

bool v8::internal::RootsTable::IsRootHandleLocation ( Address * handle_location,
RootIndex * index ) const
inline

Definition at line 53 of file roots-inl.h.

Here is the caller graph for this function:

◆ name()

static const char * v8::internal::RootsTable::name ( RootIndex root_index)
inlinestatic

Definition at line 600 of file roots.h.

Here is the caller graph for this function:

◆ offset_of()

static constexpr int v8::internal::RootsTable::offset_of ( RootIndex root_index)
inlinestaticconstexpr

Definition at line 606 of file roots.h.

Here is the caller graph for this function:

◆ operator[]() [1/2]

Address & v8::internal::RootsTable::operator[] ( RootIndex root_index)
inlineprivate

Definition at line 688 of file roots.h.

◆ operator[]() [2/2]

Address const & v8::internal::RootsTable::operator[] ( RootIndex root_index) const
inline

Definition at line 588 of file roots.h.

◆ read_only_roots_begin()

FullObjectSlot v8::internal::RootsTable::read_only_roots_begin ( ) const
inlineprivate

Definition at line 661 of file roots.h.

◆ read_only_roots_end()

FullObjectSlot v8::internal::RootsTable::read_only_roots_end ( ) const
inlineprivate

Definition at line 665 of file roots.h.

◆ SingleCharacterStringIndex()

static constexpr RootIndex v8::internal::RootsTable::SingleCharacterStringIndex ( int c)
inlinestaticconstexpr

Definition at line 629 of file roots.h.

Here is the caller graph for this function:

◆ slot()

FullObjectSlot v8::internal::RootsTable::slot ( RootIndex root_index)
inline

Definition at line 594 of file roots.h.

Here is the caller graph for this function:

◆ smi_roots_begin()

FullObjectSlot v8::internal::RootsTable::smi_roots_begin ( ) const
inlineprivate

Definition at line 679 of file roots.h.

◆ smi_roots_end()

FullObjectSlot v8::internal::RootsTable::smi_roots_end ( ) const
inlineprivate

Definition at line 683 of file roots.h.

◆ strong_or_read_only_roots_begin()

FullObjectSlot v8::internal::RootsTable::strong_or_read_only_roots_begin ( ) const
inlineprivate

Definition at line 648 of file roots.h.

◆ strong_or_read_only_roots_end()

FullObjectSlot v8::internal::RootsTable::strong_or_read_only_roots_end ( ) const
inlineprivate

Definition at line 654 of file roots.h.

◆ strong_roots_begin()

FullObjectSlot v8::internal::RootsTable::strong_roots_begin ( ) const
inlineprivate

Definition at line 670 of file roots.h.

◆ strong_roots_end()

FullObjectSlot v8::internal::RootsTable::strong_roots_end ( ) const
inlineprivate

Definition at line 674 of file roots.h.

Friends And Related Symbol Documentation

◆ Factory

friend class Factory
friend

Definition at line 699 of file roots.h.

◆ FactoryBase< Factory >

friend class FactoryBase< Factory >
friend

Definition at line 699 of file roots.h.

◆ FactoryBase< LocalFactory >

friend class FactoryBase< LocalFactory >
friend

Definition at line 699 of file roots.h.

◆ Heap

friend class Heap
friend

Definition at line 698 of file roots.h.

◆ Isolate

friend class Isolate
friend

Definition at line 697 of file roots.h.

◆ ReadOnlyHeap

friend class ReadOnlyHeap
friend

Definition at line 702 of file roots.h.

◆ ReadOnlyRoots

friend class ReadOnlyRoots
friend

Definition at line 703 of file roots.h.

◆ RootsSerializer

friend class RootsSerializer
friend

Definition at line 704 of file roots.h.

Member Data Documentation

◆ kEntriesCount

size_t v8::internal::RootsTable::kEntriesCount
staticconstexpr
Initial value:

Definition at line 566 of file roots.h.

◆ root_names_

const char * v8::internal::RootsTable::root_names_
staticprivate
Initial value:
= {
#define ROOT_NAME(type, name, CamelName)
}

Definition at line 695 of file roots.h.

◆ roots_

Address v8::internal::RootsTable::roots_[kEntriesCount]
private

Definition at line 694 of file roots.h.


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