![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <v8-cppgc.h>
Public Member Functions | |
virtual | ~CppHeap ()=default |
cppgc::AllocationHandle & | GetAllocationHandle () |
cppgc::HeapHandle & | GetHeapHandle () |
void | Terminate () |
cppgc::HeapStatistics | CollectStatistics (cppgc::HeapStatistics::DetailLevel detail_level) |
void | CollectCustomSpaceStatisticsAtLastGC (std::vector< cppgc::CustomSpaceIndex > custom_spaces, std::unique_ptr< CustomSpaceStatisticsReceiver > receiver) |
void | EnableDetachedGarbageCollectionsForTesting () |
void | CollectGarbageForTesting (cppgc::EmbedderStackState stack_state) |
void | CollectGarbageInYoungGenerationForTesting (cppgc::EmbedderStackState stack_state) |
Static Public Member Functions | |
static std::unique_ptr< CppHeap > | Create (v8::Platform *platform, const CppHeapCreateParams ¶ms) |
Private Member Functions | |
CppHeap ()=default | |
Friends | |
class | internal::CppHeap |
A heap for allocating managed C++ objects.
Similar to v8::Isolate, the heap may only be accessed from one thread at a time. The heap may be used from different threads using the v8::Locker/v8::Unlocker APIs which is different from generic Oilpan.
Definition at line 65 of file v8-cppgc.h.
|
virtualdefault |
Reimplemented in v8::internal::CppHeap.
|
privatedefault |
void v8::CppHeap::CollectCustomSpaceStatisticsAtLastGC | ( | std::vector< cppgc::CustomSpaceIndex > | custom_spaces, |
std::unique_ptr< CustomSpaceStatisticsReceiver > | receiver ) |
Collects statistics for the given spaces and reports them to the receiver.
custom_spaces | a collection of custom space indices. |
receiver | an object that gets the results. |
Definition at line 126 of file cpp-heap.cc.
void v8::CppHeap::CollectGarbageForTesting | ( | cppgc::EmbedderStackState | stack_state | ) |
Performs a stop-the-world garbage collection for testing purposes.
stack_state | The stack state to assume for the garbage collection. |
Definition at line 138 of file cpp-heap.cc.
void v8::CppHeap::CollectGarbageInYoungGenerationForTesting | ( | cppgc::EmbedderStackState | stack_state | ) |
Performs a stop-the-world minor garbage collection for testing purposes.
stack_state | The stack state to assume for the garbage collection. |
Definition at line 143 of file cpp-heap.cc.
cppgc::HeapStatistics v8::CppHeap::CollectStatistics | ( | cppgc::HeapStatistics::DetailLevel | detail_level | ) |
detail_level | specifies whether should return detailed statistics or only brief summary statistics. |
Definition at line 120 of file cpp-heap.cc.
|
static |
void v8::CppHeap::EnableDetachedGarbageCollectionsForTesting | ( | ) |
Enables a detached mode that allows testing garbage collection using cppgc::testing
APIs. Once used, the heap cannot be attached to an Isolate
anymore.
Definition at line 133 of file cpp-heap.cc.
cppgc::AllocationHandle & v8::CppHeap::GetAllocationHandle | ( | ) |
MakeGarbageCollected()
. Definition at line 110 of file cpp-heap.cc.
cppgc::HeapHandle & v8::CppHeap::GetHeapHandle | ( | ) |
CppHeap
is alive. Definition at line 114 of file cpp-heap.cc.
void v8::CppHeap::Terminate | ( | ) |
Terminate clears all roots and performs multiple garbage collections to reclaim potentially newly created objects in destructors.
After this call, object allocation is prohibited.
Definition at line 118 of file cpp-heap.cc.
|
friend |
Definition at line 137 of file v8-cppgc.h.