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

#include <array-buffer-sweeper.h>

Collaboration diagram for v8::internal::ArrayBufferSweeper:

Classes

class  SweepingState
 

Public Types

enum class  SweepingType { kYoung , kFull }
 
enum class  TreatAllYoungAsPromoted { kNo , kYes }
 

Public Member Functions

 ArrayBufferSweeper (Heap *heap)
 
 ~ArrayBufferSweeper ()
 
void RequestSweep (SweepingType sweeping_type, TreatAllYoungAsPromoted treat_all_young_as_promoted)
 
void EnsureFinished ()
 
void Append (ArrayBufferExtension *extension)
 
void Resize (ArrayBufferExtension *extension, int64_t delta)
 
void Detach (ArrayBufferExtension *extension)
 
const ArrayBufferListyoung () const
 
const ArrayBufferListold () const
 
size_t YoungBytes () const
 
size_t OldBytes () const
 
bool sweeping_in_progress () const
 
uint64_t GetTraceIdForFlowEvent (GCTracer::Scope::ScopeId scope_id) const
 

Private Member Functions

void FinishIfDone ()
 
void Finish ()
 
void UpdateApproximateBytes (int64_t delta, ArrayBufferExtension::Age age)
 
void IncrementExternalMemoryCounters (size_t bytes)
 
void DecrementExternalMemoryCounters (size_t bytes)
 
void Prepare (SweepingType type, TreatAllYoungAsPromoted treat_all_young_as_promoted, uint64_t trace_id)
 
void Finalize ()
 
void ReleaseAll (ArrayBufferList *extension)
 

Static Private Member Functions

static void FinalizeAndDelete (ArrayBufferExtension *extension)
 

Private Attributes

Heap *const heap_
 
std::unique_ptr< SweepingStatestate_
 
ArrayBufferList young_ {ArrayBufferList::Age::kYoung}
 
ArrayBufferList old_ {ArrayBufferList::Age::kOld}
 
int64_t young_bytes_adjustment_while_sweeping_ {0}
 
int64_t old_bytes_adjustment_while_sweeping_ {0}
 
V8_NO_UNIQUE_ADDRESS ExternalMemoryAccounter external_memory_accounter_
 

Detailed Description

Definition at line 54 of file array-buffer-sweeper.h.

Member Enumeration Documentation

◆ SweepingType

Enumerator
kYoung 
kFull 

Definition at line 56 of file array-buffer-sweeper.h.

◆ TreatAllYoungAsPromoted

Enumerator
kNo 
kYes 

Definition at line 57 of file array-buffer-sweeper.h.

Constructor & Destructor Documentation

◆ ArrayBufferSweeper()

v8::internal::ArrayBufferSweeper::ArrayBufferSweeper ( Heap * heap)
explicit

Definition at line 251 of file array-buffer-sweeper.cc.

◆ ~ArrayBufferSweeper()

v8::internal::ArrayBufferSweeper::~ArrayBufferSweeper ( )

Definition at line 253 of file array-buffer-sweeper.cc.

Here is the call graph for this function:

Member Function Documentation

◆ Append()

void v8::internal::ArrayBufferSweeper::Append ( ArrayBufferExtension * extension)

Definition at line 354 of file array-buffer-sweeper.cc.

Here is the call graph for this function:

◆ DecrementExternalMemoryCounters()

void v8::internal::ArrayBufferSweeper::DecrementExternalMemoryCounters ( size_t bytes)
private

Definition at line 430 of file array-buffer-sweeper.cc.

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

◆ Detach()

void v8::internal::ArrayBufferSweeper::Detach ( ArrayBufferExtension * extension)

Definition at line 385 of file array-buffer-sweeper.cc.

Here is the call graph for this function:

◆ EnsureFinished()

void v8::internal::ArrayBufferSweeper::EnsureFinished ( )

Definition at line 259 of file array-buffer-sweeper.cc.

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

◆ Finalize()

void v8::internal::ArrayBufferSweeper::Finalize ( )
private

Definition at line 334 of file array-buffer-sweeper.cc.

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

◆ FinalizeAndDelete()

void v8::internal::ArrayBufferSweeper::FinalizeAndDelete ( ArrayBufferExtension * extension)
staticprivate

Definition at line 438 of file array-buffer-sweeper.cc.

Here is the caller graph for this function:

◆ Finish()

void v8::internal::ArrayBufferSweeper::Finish ( )
private

Definition at line 265 of file array-buffer-sweeper.cc.

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

◆ FinishIfDone()

void v8::internal::ArrayBufferSweeper::FinishIfDone ( )
private

Definition at line 273 of file array-buffer-sweeper.cc.

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

◆ GetTraceIdForFlowEvent()

uint64_t v8::internal::ArrayBufferSweeper::GetTraceIdForFlowEvent ( GCTracer::Scope::ScopeId scope_id) const

Definition at line 565 of file array-buffer-sweeper.cc.

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

◆ IncrementExternalMemoryCounters()

void v8::internal::ArrayBufferSweeper::IncrementExternalMemoryCounters ( size_t bytes)
private

Definition at line 422 of file array-buffer-sweeper.cc.

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

◆ old()

const ArrayBufferList & v8::internal::ArrayBufferSweeper::old ( ) const
inline

Definition at line 75 of file array-buffer-sweeper.h.

Here is the caller graph for this function:

◆ OldBytes()

size_t v8::internal::ArrayBufferSweeper::OldBytes ( ) const
inline

Definition at line 80 of file array-buffer-sweeper.h.

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

◆ Prepare()

void v8::internal::ArrayBufferSweeper::Prepare ( SweepingType type,
TreatAllYoungAsPromoted treat_all_young_as_promoted,
uint64_t trace_id )
private

Definition at line 310 of file array-buffer-sweeper.cc.

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

◆ ReleaseAll()

void v8::internal::ArrayBufferSweeper::ReleaseAll ( ArrayBufferList * extension)
private

Definition at line 342 of file array-buffer-sweeper.cc.

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

◆ RequestSweep()

void v8::internal::ArrayBufferSweeper::RequestSweep ( SweepingType sweeping_type,
TreatAllYoungAsPromoted treat_all_young_as_promoted )

Definition at line 282 of file array-buffer-sweeper.cc.

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

◆ Resize()

void v8::internal::ArrayBufferSweeper::Resize ( ArrayBufferExtension * extension,
int64_t delta )

Definition at line 371 of file array-buffer-sweeper.cc.

Here is the call graph for this function:

◆ sweeping_in_progress()

bool v8::internal::ArrayBufferSweeper::sweeping_in_progress ( ) const
inline

Definition at line 82 of file array-buffer-sweeper.h.

Here is the caller graph for this function:

◆ UpdateApproximateBytes()

void v8::internal::ArrayBufferSweeper::UpdateApproximateBytes ( int64_t delta,
ArrayBufferExtension::Age age )
private

Definition at line 401 of file array-buffer-sweeper.cc.

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

◆ young()

const ArrayBufferList & v8::internal::ArrayBufferSweeper::young ( ) const
inline

Definition at line 74 of file array-buffer-sweeper.h.

Here is the caller graph for this function:

◆ YoungBytes()

size_t v8::internal::ArrayBufferSweeper::YoungBytes ( ) const
inline

Definition at line 78 of file array-buffer-sweeper.h.

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

Member Data Documentation

◆ external_memory_accounter_

V8_NO_UNIQUE_ADDRESS ExternalMemoryAccounter v8::internal::ArrayBufferSweeper::external_memory_accounter_
private

Definition at line 118 of file array-buffer-sweeper.h.

◆ heap_

Heap* const v8::internal::ArrayBufferSweeper::heap_
private

Definition at line 109 of file array-buffer-sweeper.h.

◆ old_

ArrayBufferList v8::internal::ArrayBufferSweeper::old_ {ArrayBufferList::Age::kOld}
private

Definition at line 112 of file array-buffer-sweeper.h.

◆ old_bytes_adjustment_while_sweeping_

int64_t v8::internal::ArrayBufferSweeper::old_bytes_adjustment_while_sweeping_ {0}
private

Definition at line 117 of file array-buffer-sweeper.h.

◆ state_

std::unique_ptr<SweepingState> v8::internal::ArrayBufferSweeper::state_
private

Definition at line 110 of file array-buffer-sweeper.h.

◆ young_

ArrayBufferList v8::internal::ArrayBufferSweeper::young_ {ArrayBufferList::Age::kYoung}
private

Definition at line 111 of file array-buffer-sweeper.h.

◆ young_bytes_adjustment_while_sweeping_

int64_t v8::internal::ArrayBufferSweeper::young_bytes_adjustment_while_sweeping_ {0}
private

Definition at line 116 of file array-buffer-sweeper.h.


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