v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
cpp-heap.cc File Reference
#include "src/heap/cppgc-js/cpp-heap.h"
#include <cstdint>
#include <memory>
#include <numeric>
#include <optional>
#include "include/cppgc/heap-consistency.h"
#include "include/cppgc/platform.h"
#include "include/v8-isolate.h"
#include "include/v8-local-handle.h"
#include "include/v8-platform.h"
#include "src/base/logging.h"
#include "src/base/macros.h"
#include "src/base/platform/time.h"
#include "src/execution/isolate-inl.h"
#include "src/execution/v8threads.h"
#include "src/flags/flags.h"
#include "src/handles/handles.h"
#include "src/handles/traced-handles.h"
#include "src/heap/base/stack.h"
#include "src/heap/cppgc-js/cpp-marking-state.h"
#include "src/heap/cppgc-js/cpp-snapshot.h"
#include "src/heap/cppgc-js/unified-heap-marking-state-inl.h"
#include "src/heap/cppgc-js/unified-heap-marking-state.h"
#include "src/heap/cppgc-js/unified-heap-marking-verifier.h"
#include "src/heap/cppgc-js/unified-heap-marking-visitor.h"
#include "src/heap/cppgc/concurrent-marker.h"
#include "src/heap/cppgc/gc-info-table.h"
#include "src/heap/cppgc/heap-base.h"
#include "src/heap/cppgc/heap-object-header.h"
#include "src/heap/cppgc/marker.h"
#include "src/heap/cppgc/marking-state.h"
#include "src/heap/cppgc/marking-visitor.h"
#include "src/heap/cppgc/metric-recorder.h"
#include "src/heap/cppgc/object-allocator.h"
#include "src/heap/cppgc/page-memory.h"
#include "src/heap/cppgc/platform.h"
#include "src/heap/cppgc/prefinalizer-handler.h"
#include "src/heap/cppgc/raw-heap.h"
#include "src/heap/cppgc/stats-collector.h"
#include "src/heap/cppgc/sweeper.h"
#include "src/heap/cppgc/unmarker.h"
#include "src/heap/cppgc/visitor.h"
#include "src/heap/gc-tracer.h"
#include "src/heap/heap.h"
#include "src/heap/marking-worklist.h"
#include "src/heap/minor-mark-sweep.h"
#include "src/heap/traced-handles-marking-visitor.h"
#include "src/init/v8.h"
#include "src/profiler/heap-profiler.h"
Include dependency graph for cpp-heap.cc:

Go to the source code of this file.

Classes

class  v8::internal::MinorGCHeapGrowing
 
class  v8::internal::UnifiedHeapMarker
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Variable Documentation

◆ active_

bool active_ = false
private

Definition at line 596 of file cpp-heap.cc.

◆ collection_type_

CppHeap::CollectionType collection_type_
private

Definition at line 219 of file cpp-heap.cc.

◆ custom_spaces_

std::vector<cppgc::CustomSpaceIndex> custom_spaces_
private

Definition at line 1209 of file cpp-heap.cc.

◆ heap_

cppgc::internal::HeapBase& heap_
private

Definition at line 595 of file cpp-heap.cc.

◆ is_in_detached_mode_

bool is_in_detached_mode_ = false
private

Definition at line 196 of file cpp-heap.cc.

◆ isolate_

v8::Isolate* isolate_ = nullptr
private

Definition at line 195 of file cpp-heap.cc.

◆ kStepSizeMs

v8::base::TimeDelta kStepSizeMs
staticconstexprprivate
Initial value:
=
static constexpr TimeDelta FromMilliseconds(int64_t milliseconds)
Definition time.h:84

Definition at line 1205 of file cpp-heap.cc.

◆ kTaskDelayMs

v8::base::TimeDelta kTaskDelayMs
staticconstexpr
Initial value:

Definition at line 1176 of file cpp-heap.cc.

◆ marking_visitor_

std::unique_ptr<ConservativeTracedHandlesMarkingVisitor> marking_visitor_
private

Definition at line 271 of file cpp-heap.cc.

◆ page_allocator_

cppgc::PageAllocator* page_allocator_
private

Definition at line 194 of file cpp-heap.cc.

◆ platform_

v8::Platform* platform_
private

Definition at line 193 of file cpp-heap.cc.

◆ receiver_

std::unique_ptr<CustomSpaceStatisticsReceiver> receiver_
private

Definition at line 1210 of file cpp-heap.cc.

◆ traced_handles_

TracedHandles& traced_handles_

Definition at line 543 of file cpp-heap.cc.

◆ v8_heap_

Heap* const v8_heap_
private

Definition at line 218 of file cpp-heap.cc.