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

#include <js-array-buffer.h>

Inheritance diagram for v8::internal::ArrayBufferExtension:
Collaboration diagram for v8::internal::ArrayBufferExtension:

Classes

struct  AccountingState
 

Public Types

enum class  Age : uint8_t { kYoung = 0 , kOld = 1 }
 

Public Member Functions

 ArrayBufferExtension (std::shared_ptr< BackingStore > backing_store, ArrayBufferExtension::Age age)
 
void Mark ()
 
void Unmark ()
 
bool IsMarked () const
 
void YoungMark ()
 
void YoungMarkPromoted ()
 
void YoungUnmark ()
 
bool IsYoungMarked () const
 
bool IsYoungPromoted () const
 
std::shared_ptr< BackingStorebacking_store ()
 
void set_backing_store (std::shared_ptr< BackingStore > backing_store)
 
std::shared_ptr< BackingStoreRemoveBackingStore ()
 
size_t accounting_length () const
 
AccountingState UpdateAccountingLength (int64_t delta)
 
AccountingState ClearAccountingLength ()
 
ArrayBufferExtensionnext () const
 
void set_next (ArrayBufferExtension *extension)
 
Age age () const
 
AccountingState SetOld ()
 
AccountingState SetYoung ()
 

Private Types

enum class  GcState : uint8_t { Dead = 0 , Copied , Promoted }
 
using AgeField = base::BitField<uint8_t, 0, 1, uint64_t>
 
using AccountingLengthField = AgeField::Next<size_t, 63>
 

Private Member Functions

GcState young_gc_state () const
 
void set_young_gc_state (GcState value)
 

Private Attributes

std::shared_ptr< BackingStorebacking_store_
 
ArrayBufferExtensionnext_ = nullptr
 
std::atomic< uint64_t > accounting_state_
 
std::atomic< boolmarked_ {false}
 
std::atomic< GcStateyoung_gc_state_ {GcState::Dead}
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::Malloced
static void * operator new (size_t size)
 
static void operator delete (void *p)
 

Detailed Description

Definition at line 193 of file js-array-buffer.h.

Member Typedef Documentation

◆ AccountingLengthField

◆ AgeField

using v8::internal::ArrayBufferExtension::AgeField = base::BitField<uint8_t, 0, 1, uint64_t>
private

Definition at line 281 of file js-array-buffer.h.

Member Enumeration Documentation

◆ Age

enum class v8::internal::ArrayBufferExtension::Age : uint8_t
strong
Enumerator
kYoung 
kOld 

Definition at line 200 of file js-array-buffer.h.

◆ GcState

enum class v8::internal::ArrayBufferExtension::GcState : uint8_t
strongprivate
Enumerator
Dead 
Copied 
Promoted 

Definition at line 279 of file js-array-buffer.h.

Constructor & Destructor Documentation

◆ ArrayBufferExtension()

v8::internal::ArrayBufferExtension::ArrayBufferExtension ( std::shared_ptr< BackingStore > backing_store,
ArrayBufferExtension::Age age )
inline

Definition at line 213 of file js-array-buffer.h.

Member Function Documentation

◆ accounting_length()

size_t v8::internal::ArrayBufferExtension::accounting_length ( ) const
inline

Definition at line 238 of file js-array-buffer.h.

Here is the call graph for this function:

◆ age()

Age v8::internal::ArrayBufferExtension::age ( ) const
inline

Definition at line 264 of file js-array-buffer.h.

Here is the call graph for this function:

◆ backing_store()

std::shared_ptr< BackingStore > v8::internal::ArrayBufferExtension::backing_store ( )
inline

Definition at line 230 of file js-array-buffer.h.

Here is the caller graph for this function:

◆ ClearAccountingLength()

AccountingState v8::internal::ArrayBufferExtension::ClearAccountingLength ( )
inline

Definition at line 256 of file js-array-buffer.h.

Here is the caller graph for this function:

◆ IsMarked()

bool v8::internal::ArrayBufferExtension::IsMarked ( ) const
inline

Definition at line 222 of file js-array-buffer.h.

◆ IsYoungMarked()

bool v8::internal::ArrayBufferExtension::IsYoungMarked ( ) const
inline

Definition at line 227 of file js-array-buffer.h.

Here is the call graph for this function:

◆ IsYoungPromoted()

bool v8::internal::ArrayBufferExtension::IsYoungPromoted ( ) const
inline

Definition at line 228 of file js-array-buffer.h.

Here is the call graph for this function:

◆ Mark()

void v8::internal::ArrayBufferExtension::Mark ( )
inline

Definition at line 220 of file js-array-buffer.h.

◆ next()

ArrayBufferExtension * v8::internal::ArrayBufferExtension::next ( ) const
inline

Definition at line 261 of file js-array-buffer.h.

Here is the caller graph for this function:

◆ RemoveBackingStore()

std::shared_ptr< BackingStore > v8::internal::ArrayBufferExtension::RemoveBackingStore ( )
inline

Definition at line 234 of file js-array-buffer.h.

◆ set_backing_store()

void v8::internal::ArrayBufferExtension::set_backing_store ( std::shared_ptr< BackingStore > backing_store)
inline

Definition at line 231 of file js-array-buffer.h.

Here is the call graph for this function:

◆ set_next()

void v8::internal::ArrayBufferExtension::set_next ( ArrayBufferExtension * extension)
inline

Definition at line 262 of file js-array-buffer.h.

Here is the caller graph for this function:

◆ set_young_gc_state()

void v8::internal::ArrayBufferExtension::set_young_gc_state ( GcState value)
inlineprivate

Definition at line 288 of file js-array-buffer.h.

Here is the caller graph for this function:

◆ SetOld()

AccountingState v8::internal::ArrayBufferExtension::SetOld ( )
inline

Definition at line 269 of file js-array-buffer.h.

◆ SetYoung()

AccountingState v8::internal::ArrayBufferExtension::SetYoung ( )
inline

Definition at line 273 of file js-array-buffer.h.

◆ Unmark()

void v8::internal::ArrayBufferExtension::Unmark ( )
inline

Definition at line 221 of file js-array-buffer.h.

◆ UpdateAccountingLength()

AccountingState v8::internal::ArrayBufferExtension::UpdateAccountingLength ( int64_t delta)
inline

Definition at line 244 of file js-array-buffer.h.

Here is the call graph for this function:

◆ young_gc_state()

GcState v8::internal::ArrayBufferExtension::young_gc_state ( ) const
inlineprivate

Definition at line 284 of file js-array-buffer.h.

Here is the caller graph for this function:

◆ YoungMark()

void v8::internal::ArrayBufferExtension::YoungMark ( )
inline

Definition at line 224 of file js-array-buffer.h.

Here is the call graph for this function:

◆ YoungMarkPromoted()

void v8::internal::ArrayBufferExtension::YoungMarkPromoted ( )
inline

Definition at line 225 of file js-array-buffer.h.

Here is the call graph for this function:

◆ YoungUnmark()

void v8::internal::ArrayBufferExtension::YoungUnmark ( )
inline

Definition at line 226 of file js-array-buffer.h.

Here is the call graph for this function:

Member Data Documentation

◆ accounting_state_

std::atomic<uint64_t> v8::internal::ArrayBufferExtension::accounting_state_
private

Definition at line 294 of file js-array-buffer.h.

◆ backing_store_

std::shared_ptr<BackingStore> v8::internal::ArrayBufferExtension::backing_store_
private

Definition at line 292 of file js-array-buffer.h.

◆ marked_

std::atomic<bool> v8::internal::ArrayBufferExtension::marked_ {false}
private

Definition at line 295 of file js-array-buffer.h.

◆ next_

ArrayBufferExtension* v8::internal::ArrayBufferExtension::next_ = nullptr
private

Definition at line 293 of file js-array-buffer.h.

◆ young_gc_state_

std::atomic<GcState> v8::internal::ArrayBufferExtension::young_gc_state_ {GcState::Dead}
private

Definition at line 296 of file js-array-buffer.h.


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